[考題] 計算機概論 程式輸出問題

看板Examination作者 (宇)時間10年前 (2014/07/17 14:59), 編輯推噓4(403)
留言7則, 6人參與, 最新討論串2/4 (看更多)
下列以 C 程式語言撰寫之程式執行後產生之輸出為何? #include <stdio.h> main() { int m1=123,m2=5; while (m2--) {m1%=m2;}; printf(“%d\n”,m1); } a.0 b.1 c.本程式編譯時,編譯器(Compiler)發出錯誤訊息,不能執行而無輸出結果產生 d.本程式執行時,發生錯誤,故無輸出結果產生 答案為D 請問一下各位高手,是while(m2--)所造成的問題嗎?還是哪一個環節的問題啊? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.215.118 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1405580390.A.AFF.html

07/17 15:11, , 1F
while迴圈外的分號?
07/17 15:11, 1F

07/17 15:12, , 2F
我猜可能是m2==0時,發生/0的錯誤
07/17 15:12, 2F

07/17 15:13, , 3F
樓上正解
07/17 15:13, 3F

07/17 15:34, , 4F
因為while會先判斷m2,如果m2為1時為true,再減減,之
07/17 15:34, 4F

07/17 15:34, , 5F
後再進迴圈,此時m2等於0
07/17 15:34, 5F

07/17 18:06, , 6F
後置-進迴圈才- 會有m2=1進入迴圈後又變%0的情形
07/17 18:06, 6F

07/17 18:51, , 7F
thanks
07/17 18:51, 7F
文章代碼(AID): #1JntHch_ (Examination)
文章代碼(AID): #1JntHch_ (Examination)