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)編譯後顯示錯誤訊息
答案:登入後查看
統計: A(66), B(193), C(63), D(55), E(0) #1352398
統計: A(66), B(193), C(63), D(55), E(0) #1352398
詳解 (共 4 筆)
#1529829
抱歉必須說,上面可能有誤
第一次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
阿摩線上測驗: http://www.yamol.tw/reponse.php?id=27901181&dostatus=&noslave=1&exp=62#ixzz4R7E635q8
16
0
#1458252
FM()在執行第一次迴圈就會被return 出來,所以只有比較陣列的第一個值和第二個值,故第二個值比第一個值小,所以回傳的位置a[1]。
因為FM()中的i為區域變數,不會影響到Main中的i所以i為main中迴圈的i,i=5
最後輸出結果為 i=5,a[1]=21
-2
5