D選項的答案
#include<stdio.h>
int main()
{
int a=5;
int 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);
return 0;
?}?
結(jié)果是0,1,0,2
能解釋下為什么d選項為什么是2嗎
#include<stdio.h>
int main()
{
int a=5;
int 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);
return 0;
?}?
結(jié)果是0,1,0,2
能解釋下為什么d選項為什么是2嗎
2022-02-23
舉報
2022-10-12
?因為你在這里,上面b值已經(jīng)賦值兩次了,到運(yùn)算結(jié)果時也就是11+1-10=2了,人家問題是獨(dú)立問答,不承接。
2022-10-10
輸出是0吧
2022-08-10
printf("%d\n",b++>=a*2&&b-a<=a);這一句結(jié)束,b=10
printf("%d\n",b++>=a*2||b-a<=a);這一句結(jié)束,b=11
printf("%d\n",++b-a*2);這一句開始b已經(jīng)是11了,然后先自加,b=12,12-5*2=2
對于b運(yùn)算的每一次自加都是會改變b的真實值,每一個代碼單獨(dú)運(yùn)行一次更好,不容易出錯。
2022-05-06
0.1.0.2
2022-02-23
是不是0