#include〈stdio.h〉
int main()
{ char ch =256;
int n=ch;
printf (“%d”,n+1);
return 0
}
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
这个程序输出来结果为啥是1啊可以解释解释吗
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-link 2022-03-30 16:42关注
溢出了啊,ch等于256,实际溢出后ch就是0,加1后就是1
256是2的8次方,二进制表示就是 1 0000 0000,由于char只能存放8个二进制位,所以最高位1是溢出的,不在ch实际存储中,ch实际存储的是后8位,都是0本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥30 python密码表示
- ¥15 Flask应用部署到阿里云服务器失败,无法访问网页,问题出在哪里?
- ¥15 计算个体的IBS遗传距离
- ¥15 有什么好的直流步进减速电机42的厂家推荐,保持力矩达到0.3N.M
- ¥15 一道蓝桥杯的题,请问我错在哪里
- ¥15 关于#android问题,xposed模块找不到so
- ¥15 UE5.4.2创建C++项目成功,但是编译失败
- ¥15 华为手机备份nas,airdisk,遇到的空间不足问题。求个详细的解决方案。
- ¥20 Cknife无法使用
- ¥15 这个结构体为什么会出错呢?