Cgchch 2022-03-27 17:36 采纳率: 100%
浏览 23
已结题

这个代码运行为什么结果是这个

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

#include<stdio.h>
main()
{
char ch;
ch=('z'-'a')/2+'A';
putchar(ch);
}

运行结果及报错内容 结果为M
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2022-03-27 17:51
    关注

    理解一下:
    ch=('z'-'a')/2+'A';
    首先计算'z' - 'a',其实是两个字符的ASCII码想减,'z'的ASCII码是122,‘a'的ASCII码是97,想减结果为25
    然后计算25/2,由于除号两边都是整数,所以是整除操作,没有小数,结果是12,不是12.5
    最后计算12 + 'A',也是进行ASCII码相加,'A'的ASCII码是65,加上12是77,77对应的字符是'M'
    所以最终字符ch就是'M'
    ============
    希望有所帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 3月27日

悬赏问题

  • ¥15 net core 同时编辑怎么防止数据多保存了
  • ¥15 matlab做ba模型让其在ba和er规则下生长
  • ¥50 有偿!centos curl port设置问题
  • ¥15 请问Quartus的Verilog代码怎么写?
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView
  • ¥15 如何使用shufflenet进行手写数字识别
  • ¥20 微信小程序播放直播流
  • ¥15 关于迷宫自走单片机循迹小车的知识
  • ¥15 python使用selenium工具爬取网站的问题