为什么这个程序的输出变化为130?

为什么这个程序的输出变化为130?,第1张

概述我有以下代码,在我看来它应该总是输入if语句的真实部分,但是,超过120,它似乎开始执行else子句.为什么会这样? char x;for (i=0;i<256;i+=10) { x=i; if (x==i) printf("%d true\n",i); else printf("%d false\n",i);} 输出是: 0 true 我有以下代码,在我看来它应该总是输入if语句的真实部分,但是,超过120,它似乎开始执行else子句.为什么会这样?
char x;for (i=0;i<256;i+=10) {    x=i;    if (x==i)        printf("%d true\n",i);    else         printf("%d false\n",i);}

输出是:

0 true10 true: all numbers from 20 to 100 are true110 true120 true130 false140 false: all numbers from 150 to 230 are false240 false250 false
解决方法 使用char关键字时,默认情况下,编译器可能使用signed char.有符号字符的范围通常为-128到127,而int的范围要大得多.除了典型的台式PC之外,更多深奥的硬件可能会使用其他值. 总结

以上是内存溢出为你收集整理的为什么这个程序的输出变化为130?全部内容,希望文章能够帮你解决为什么这个程序的输出变化为130?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1237270.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存