c语言问题

[复制链接]
查看11 | 回复5 | 2011-3-14 16:30:01 | 显示全部楼层 |阅读模式
我不懂C,稍微了解C++。我看到,C中,字符串数组处理起来很奇怪的。char a[100]这样的东西,如果在程序中使用了a,它指的是整个字符串的值,例如:a[2]={'h''e'},其实a指的是“he”,而不是地址。如果是其他类型的数组,比如int,就没有这样的问题。建议你把所有的char改成int试验一下,看看是否还有问题。(当然也要相应的改其他的)不一定对啊...
回复

使用道具 举报

千问 | 2011-3-14 16:30:01 | 显示全部楼层
其实,我觉得错误应该是:a = c;这句,因为 a 是数组名,不是变量,不能赋值,这也是数组名与指针的区别,估计是你代码抄错了,我觉得应该是 a = c;因为后面还有一句,i++,如果不是a = c的话,i++在这里一点用处没有! 不知道怎么继续回答,只好在这里继续添加了!回答楼下的问题:
因为在 c == '#' 时,...
回复

使用道具 举报

千问 | 2011-3-14 16:30:01 | 显示全部楼层
同楼上并且a=c是不对的数组名 只是存储了首地址 不是变量 不能赋值 以下程序仅供参考:char a[100];char c='a';int i=0;while(1){scanf("%c",&c);if(c=='#'){break;}a=c;i++;}i=0;...
回复

使用道具 举报

千问 | 2011-3-14 16:30:01 | 显示全部楼层
#includevoid main(){char a[100];char c='a';int i=0;while(1){scanf("%c",&c);if(c=='#'){break;}*(a+i)=c;i++;}*(a+i)=0;i=0;while(*(a+i...
回复

使用道具 举报

千问 | 2011-3-14 16:30:01 | 显示全部楼层
a即字符数组a[100]的地址,其类型是char *...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行