C语言 这段代码 为什么输出是1?

[复制链接]
查看11 | 回复3 | 2010-1-14 09:09:33 | 显示全部楼层 |阅读模式
因为for(i=0;ch>='0'&&ch='0' 且 ch[0]='0'且ch[2]<='9' 因为 ch[2]的值是'a'所以,条件不成立,退出循环.所以只在屏幕上打印了一个1
回复

使用道具 举报

千问 | 2010-1-14 09:09:33 | 显示全部楼层
你本来不就是输出ch[0]也就是那个1吗?要输出ascii要这样printf("%d",ch);
回复

使用道具 举报

千问 | 2010-1-14 09:09:33 | 显示全部楼层
兄弟,你这个printf输出的时候是以字符形式输出的,而不是int,所以就是它本身的字符输出,如果是int的话就是49了
回复

使用道具 举报

千问 | 2010-1-14 09:09:33 | 显示全部楼层
因为你是要输出的是ch,就表示要输出数组中的第i个字符;
而不是要输出1;如果把ch再赋值给一个变量(比如a),输出变量a的值就会等于49。我是这样理解的哈。参考资料:c语言程序设计书

已赞过已踩过<
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行