【发布时间】:2018-07-08 11:36:51
【问题描述】:
#include<stdio.h>
int main()
{
char c = 125;
c = c+10;
printf("%d", c);
return 0;
}
谁能告诉我为什么程序的输出是-121。 先谢谢了
【问题讨论】:
-
当被视为有符号值时,char 的范围为 -128 到 127。当您添加 10 时,它“溢出”并变为负值。
标签: c
#include<stdio.h>
int main()
{
char c = 125;
c = c+10;
printf("%d", c);
return 0;
}
谁能告诉我为什么程序的输出是-121。 先谢谢了
【问题讨论】:
标签: c
这是因为integer overflow。最大char值为127,sum的结果为135,更多
【讨论】: