求解释short a = 32767; printf("%d%d\n", a, a++); 输出...

发布网友 发布时间:2024-10-23 21:11

我来回答

2个回答

热心网友 时间:2024-11-07 09:24

printf()函数输出是一个从右向左的过程,所以先执行a++的输出,因为a++是后缀表达式,输出后再执行a++操作,输出后a+1的操作,a=32768,因为整形占有2个字节,表达范围为-31768~32767。数据在及计算机中是以补码的形式保存的,所以高位溢出后1000,0000对应的原码是-0,对应的补码就是补码-32768所以结果,就是-3276832767

热心网友 时间:2024-11-07 09:24

2楼正解

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com