这个程序输出来结果为啥是1啊可以解释解释吗

#include〈stdio.h〉
int main()
{ char ch =256;
int n=ch;
printf (“%d”,n+1);
return 0

溢出了啊,ch等于256,实际溢出后ch就是0,加1后就是1
256是2的8次方,二进制表示就是 1 0000 0000,由于char只能存放8个二进制位,所以最高位1是溢出的,不在ch实际存储中,ch实际存储的是后8位,都是0

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632