标题:putchar()函数 参数是 char 和 int 的区别,大家帮忙看看 0.0
取消只看楼主
幻世梵天
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2014-2-7
结帖率:100%
已结贴  问题点数:20 回复次数:4 
putchar()函数 参数是 char 和 int 的区别,大家帮忙看看 0.0
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int  count;


 for(count = 14;count < 128;)
   putchar(count ++);



   return 0;
}
上面这个程序是可以运行的

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char  count;//把count的类型改变了


 for(count = 14;count < 128;)
   putchar(count ++);



   return 0;
}
第二个程序可以运行,但是停不下来,大家不要试啊


我单独试了下面这个程序,也是可以的
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int  char;
   char = 97;
   putchar(count);



   return 0;
}
这个也可以运行


为什么第二段程序会出现问题呢???
搜索更多相关主题的帖子: include return count 
2014-07-29 22:24
幻世梵天
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2014-2-7
得分:0 
回复 2 楼 embed_xuel
是-128到127吧,
#include <stdio.h>
#include <stdlib.h>

int main()
{
   char count;


 /*for(count = 14;count < 128;)
   putchar(count ++);*/

   count = 128;
   putchar(count);



   return 0;
}
我运行这个程序没有问题呀,给count赋值14也可以的。
2014-07-29 22:35
幻世梵天
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2014-2-7
得分:0 
回复 4 楼 embed_xuel
结束条件是 count < 128,当count = 128 的时候退出for循环,我还是没有发现问题呀...三楼那个程序我只是验证一下char的范围,发现在count = 128(应该是超范围的情况)但是程序还是可以输出一个字符的

[ 本帖最后由 幻世梵天 于 2014-7-29 22:50 编辑 ]
2014-07-29 22:47
幻世梵天
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2014-2-7
得分:0 
回复 6 楼 embed_xuel
好像确实不能等于128,这是我修改后的程序
#include <stdio.h>
#include <stdlib.h>

int main()
{
   char count;


 for(count = 14;count < 127;)
   putchar(count ++);

   


   return 0;
}
可以正常运行了,哦,我懂了,三楼那个程序之所以可以输出一个字符是因为我把128赋值给count的时候,就相当于把-128赋值给了count,但是count的值实际上永远不等于128,是这样理解的么?
2014-07-29 23:17
幻世梵天
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2014-2-7
得分:0 
哦,知道了,谢谢啊
2014-07-29 23:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-434537-1-1.html




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

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