求高手解決下C語言問題,謝啦。要考試了啊,並說明下原因哈

時間 2021-06-17 08:06:52

1樓:匿名使用者

50807 c

50808 c

這兩題同樣的道理:

執行分支語句,一直遇到break;時,中止執行。--,++字尾式,先執行後加減。

50807中,n=101,在case中找不到101,只能執行預設語句:printf("error ");接往下執行,一直到遇到break,所以輸出:error good選 c;

50808中,n=99,先匹配case ‘c’:printf(“pass”);一直往下執行,所以輸出:pass warn 選c;

2樓:下yi夜

1選c // n-- 先使用後減,所以n=e的ascii碼值 所以執行default 沒有break;所以繼續向下執行 遇到break;後跳出switch 執行完switch後n-1

2選c //c++ 先使用後加 執行過程跟1相似

3選b//a x!=y不重新賦值 b if(x>y && x!=y );該語句分號結束不影響執行x+=y c x!

=y執行scanf("%d",&x); x=y執行scanf("%d",&y); 如果不等於x被重新賦值否則y被重新賦值 d x<=y不執行