為什么最后的計(jì)算結(jié)果是2?。?/h1>
為什么第八行運(yùn)行出來是2?。?/p>
還有第九行運(yùn)行出來為什么是13?不是b=b+1嗎?不應(yīng)該是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;
}
為什么第八行運(yùn)行出來是2?。?/p>
還有第九行運(yùn)行出來為什么是13?不是b=b+1嗎?不應(yīng)該是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;
}
2022-01-30
因?yàn)椴还芷渌倪\(yùn)算,只要有++,b的數(shù)值一直在不斷增加的,先是第五行運(yùn)算結(jié)束,這個(gè)時(shí)候b等于10,第六行結(jié)束b等于11,第八行剛剛開始運(yùn)算的時(shí)候是b先加1(++b)再進(jìn)行后面的運(yùn)算,所以開始b-a*2的時(shí)候b已經(jīng)是9+1+1+1=12了