m0_62809964 2022-03-30 16:33 采纳率: 60%
浏览 13
已结题

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

#include〈stdio.h〉
int main()
{ char ch =256;
int n=ch;
printf (“%d”,n+1);
return 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条)

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月30日

悬赏问题

  • ¥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 这个结构体为什么会出错呢?