| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 937 人关注过本帖, 1 人收藏
标题:int 类型 执行了 char 类型 这为什么!谢谢那位解答。(难道这题真的没人会 ...
取消只看楼主 加入收藏
kan月
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2011-9-28
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:3 
int 类型 执行了 char 类型 这为什么!谢谢那位解答。(难道这题真的没人会- -!)
程序代码:
    /*char* ArrayName[5];*/        /*字符指针数组*/
    int ArrayName[5];   /*可以替换上一行代码*/
    int index;                /*循环控制变量*/
    ArrayName[0]="WangJiasheng";    /*为数组元素赋值*/
    ArrayName[1]="LiuWen";
    ArrayName[2]="SuYuqun";
    ArrayName[3]="LeiYu";
    ArrayName[4]="ZhangMeng";
    for(index=0;index<5;index++)    /*使用循环显示名称*/
    {
        printf("%s\n",ArrayName[index]);
    }
   
    return 0;
有两个问:
1、为什么int 整形 可以成立?程序中赋的可都是字符。
2、char * ArrayName 可成立, char ArrayName 却不能成立为什么?

[ 本帖最后由 kan月 于 2011-11-9 18:58 编辑 ]
搜索更多相关主题的帖子: 谢谢 
2011-11-09 10:11
kan月
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2011-9-28
收藏
得分:0 
以下是引用heroinearth在2011-11-9 10:27:55的发言:

 int ArrayName[5]; 不可以替换上一行,
char * ArrayName 是一个指针,可以指向一个字符,或串的首地址,
char ArrayName 定义的只是一个字符变量,只可以存一个字符。
可以额!你试一下。问题“char ArrayName ”其实是“char ArrayName[5]”写漏了。

 数组其实也是指针对吧?
 程序中得的 *ArrayName 等于 &ArrayName[0] 等于 ArrayName[0] 等于 *(ArrayName+0) 没错吧!
 
上面的程序 int ArrayName[5]   可以执行
           char ArrayName[5]  不可以执行为什么?
   
注: char * ArrayName[5] 也可以执行!为什么?
      
2011-11-09 14:17
kan月
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2011-9-28
收藏
得分:0 
回复 5楼 heroinearth
程序代码:
void main()
{
    int *p;
    int i[1]={2};
   
    p=i[0];
   
    printf("%d",p);
}
你自个试试!
2011-11-09 18:52
kan月
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2011-9-28
收藏
得分:0 
回复 4楼 embed_xuel
你自己试试就知道了!
2011-11-09 18:58
快速回复:int 类型 执行了 char 类型 这为什么!谢谢那位解答。(难道这题真的没 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025624 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved