植物熊猫
2021-09-04 13:25
为什么第八行运行出来是2啊?
还有第九行运行出来为什么是13?不是b=b+1吗?不应该是10吗?
源代码奉上
#include <stdio.h>
int main()
{
int a=5,b=9;
printf("%d\n",b++>a*2&&b-a<=a);
printf("%d\n",b++>=a*2 || b-a<=a);
printf("%d\n",!(a*2-b));
printf("%d\n",++b-a*2);
printf("%d\n",++b);
return 0;
}
因为不管其他的运算,只要有++,b的数值一直在不断增加的,先是第五行运算结束,这个时候b等于10,第六行结束b等于11,第八行刚刚开始运算的时候是b先加1(++b)再进行后面的运算,所以开始b-a*2的时候b已经是9+1+1+1=12了
因为从第五行开始,b++后输出的值就变为了10,后面几行以此类推
C语言入门
926210 学习 · 20797 问题
相似问题
回答 4
回答 2