有以下程序 #include <stdio.h> main() { int a = -2, b
= 0; while (a++ && ++b) ; printf("%d,%d\n", a, b ); }
程序運行后輸出結(jié)果是A) 0,2B) 0,3C) 1,3D) 1,2?
3 回答

噼喱啪啦
TA貢獻392條經(jīng)驗 獲得超170個贊
第一個要認清楚 while ( ); 后面直接引號了看到?jīng)],代表當while 括號里面的表達式為真時,循環(huán)執(zhí)行,括號里表達式為假時,跳出循環(huán),而沒有大括號循環(huán)體,代表空語句,也就是當while( )括號里的表達式為假時,才執(zhí)行打印a, b
第二個就是自增自減
a++;這樣的一個語句,表達式a++表示我這個表達式的值等于a,再把a+1,這樣在這個語句的下面再調(diào)用a的話,a會比原來多1
b=a++;???? b的值和a相等,這個表達式的值等于a。
++a;這樣的語句表示這個表達式的值為a+1,之后的語句再調(diào)用a的話,a的值比原來多1,
b=++a; 相當于b=(a+1) 這個表達式的值等于a+1
第三個就是邏輯運算,計算機中 且運算,表達式1&&表達式2; 且運算必須兩個表達式為真時,才算成立。計算機有個特點,當表達式1成立時,直接判定語句為假,不再進行表達式2 體現(xiàn)計算機的運算快!
只能提示到這里了,正確答案是D. 不懂繼續(xù)問。
- 3 回答
- 1 關(guān)注
- 1509 瀏覽
添加回答
舉報
0/150
提交
取消