c语言基础问题,为什么结果是49,b不应该自减1吗?

int a=0,b=1;
!(a='0')&&b--;
问a+b的值

代码正文第二行的计算顺序是

    a='0'  赋值成功的话,相当于这条语句执行结果为true

    对第一步的返回结果取反,为false

    &&运算会短路,第二步的计算结果已经是false,所以跳过b--

所以b--并没有执行到。b还是1,数字‘0’的ascii码是48,所以最后的输出结果是49.


群:936之后是250最后是734,可以交流分享

温馨提示:答案为网友推荐,仅供参考
相似回答