問題詳情

23 有關以下 C 語言撰寫之程式,下列敘述何者正確?


(A)執行後若輸入 63 21 34 47 52 則輸出 5, 63 並跳行
(B)執行後若輸入 63 21 34 47 52 則輸出 5, 21 並跳行
(C)執行後若輸入 63 21 34 47 52 則輸出 5, 47 並跳行
(D)編譯後顯示錯誤訊息

參考答案

答案:B
難度:困難0.375
統計:A(24),B(63),C(31),D(24),E(0)

用户評論

Moonforget Wh】評論

抱歉必須說,上面可能有誤    第一次for迴圈,if函式內 比了a[0]=63<a[0]=63不成立,沒動作,繼續迴圈    第二次for迴圈,比了a[1]=21<a[0]=63成立,m=p+1    第三次for迴圈,比了a[2]=34<a[1]=21不成立,沒動作,繼續迴圈    第四次for迴圈,比了a[3]=47<a[1]=21不成立,沒動作,繼續迴圈    第五次for迴圈,比了a[4]=52<a[1]=21不成立,沒動作,繼續迴圈    第六次for迴圈條件不成立,中止    回傳m=1    印出i=5(是main裡的i)    印出*m=a[1]=21線上測驗: /reponse.php?id=27901181&dostatus=&noslave=1&exp=62#ixzz4R7E635q8

kuasmisaaa】評論

FM()在執行第一次迴圈就會被return 出來,所以只有比較陣列的第一個值和第二個值,故第二個值比第一個值小,所以回傳的位置a[1]。因為FM()中的i為區域變數,不會影響到Main中的i所以i為main中迴圈的i,i=5