【发布时间】:2019-07-13 22:19:57
【问题描述】:
我试图进入 c 编程,但在一个问题中卡住了,请解释一下。
int main()
{
char c = 255;
c=c+10;
printf("%d",c);
return 0;
}
它给出的输出是
> 9
请给我解释一下。
【问题讨论】:
-
@Biffen 我的错误研究我想我会删除评论
我试图进入 c 编程,但在一个问题中卡住了,请解释一下。
int main()
{
char c = 255;
c=c+10;
printf("%d",c);
return 0;
}
它给出的输出是
> 9
请给我解释一下。
【问题讨论】:
一个字符的最大值是255。
通过将10 添加到该号码,您将获得265。
因为该值不是 char 的合适值,所以它会执行 265 % 256 导致 9
这就是为什么你的结果是9
【讨论】:
char 是signed 那么它是未定义的行为。