1樓:飛奔的我的錢
答案是編譯有誤,樓上已經說得比較對了,此時的if判斷肯定是成立的,因為是a=1,而不是a==1.
2樓:儒雅隨和一丶
編譯有誤這個下面的else和上面的if根本就配不上隊啊,else就報錯了
3樓:
1120,if括號中已經將1賦值給a並且括號整體也為1,執行if語句,所以bc值改變而d不變依然是0
4樓:amanda追風
答案應該是編譯有誤,因為if只能管到第一個分號的句子,而else出現在第三個分號的句子中,也就意味著這個else沒有與之搭配的if,所以會出現編譯有誤的現象。樓主可以自行執行之。
5樓:匿名使用者
輸出 0,0,0,3
有如下程式 main() { int a=2,b=-1,c=2; if(a < b) if(b<0) c=0; else c++ printf("%d\n",c); } 該程式的輸
6樓:匿名使用者
main()
這樣就清楚了吧,輸出 2
7樓:匿名使用者
結果是 2
if(a
8樓:makka丶
else與離它最近的if構成if…else語句,而當a為2時,第一個if語句不成立,因此什麼也不做,即c的值仍然為2,故選擇c選項。
include
9樓:
你寫的這段**有一些問題(語法錯誤),把語法問題改正後:
#include
int main() //推薦主函式用int main()
printf("%d\n",c);
return 0;
} 當a
顯然a=2,b=-1 所以沒執行:
if(b<0) c=0;
else c+=1;
接下來程式輸出c的值,c還是2。如果那邊值是1,那我肯定你是什麼地方打錯了,或者求助的問題和你執行的**存在不一致!
10樓:匿名使用者
樓主,要麼就是你給的**弄錯了,要麼就是答案錯了,無論走的是哪一條語句,結果都不會是1的。
如果按你寫的這個**來看的話。c應該是2
至於你說的答案是1,
如果走if(b<0) c=0這句話結果就是0如果走else c+=1這句話,結果就是3樓主再看看是不是**敲錯了。。。
11樓:
你確定你的程式沒有抄錯?按照格式再貼一遍吧 不要貼在標題上 太亂
12樓:匿名使用者
你確定你沒有手誤啊?
有以下程式 #include
13樓:匿名使用者
#include
main()
if((c==3)||(d==-1))如果c==3或者d==-1有一個成立,則執行if語句;如果兩個都不成立,則不執行
}你覺得你程式抄寫對了嗎?我覺得程式你抄寫漏了喲。a=2是賦值,而不是比較,我估計應該是a==2.如果是由兩個等號,請看我的註釋。輸出為 1,2,0,4.
14樓:我是羊指甲
這程式能執行嗎。。。。。
以下程式的輸出結果是mainint a 4,b 5,c 0,d d abc printfd n ,d
輸出內容為1 d a b c 由於c 0 所以 c為真,或者說是整形值為1 而邏輯或運算只要有一個1那麼運算結果為1 所以d為1 輸出內容為1 include include main 1 press any key to continue 結果應當為非零數1 a 4 所以!a為0 同樣 b 0 a...
請讀程式 mainint a 1,b 2 printfd n ,a a 1,a 6,b 2則上面程式的輸出結果是
格式字串中只有一個 d,所以只輸出第一個引數的值,它是 a a 1。另外可以上機試一下。輸出bai 2因為 運算子的優先du級低於,逗號 運算子,zhi所以printf d n a a 1,a 6,b 2 等效dao於 printf d n a a 1 a 6 b 2 也就是printf多提供了回2...
有以下程式有以下程式includestdiohmaininta33123456789intb30i
include main int b 3 i for i 1 i 3 i b i a i 2 a 2 i for i 1 i 3 i printf d b i printf n 程式執行後的輸出結果是 1418 這是因為b 1 a 1 2 a 2 1 6 8 14b 2 a 2 2 a 2 2 9 ...