普通考試
108年
[電子工程] 計算機概要
第 15 題
執行下列 C 語言程式的結果為何?
#include
int unknown(int temp[], int size, int key)
{
int i = 0;
while( (temp[i] != key) && (i < size))
i++;
return(i);
}
void main(){
int list[]={1,3,5,7,9,11,13,15};
int output =unknown(list, 8, 3);
printf("%d", output);
}
#include
int unknown(int temp[], int size, int key)
{
int i = 0;
while( (temp[i] != key) && (i < size))
i++;
return(i);
}
void main(){
int list[]={1,3,5,7,9,11,13,15};
int output =unknown(list, 8, 3);
printf("%d", output);
}
- A 輸出整數 1
- B 輸出整數 3
- C 輸出整數 8
- D 進入無窮迴圈程式無法停止
思路引導 VIP
請仔細觀察 while 迴圈內的判斷式:當程式在陣列中「找到」與目標完全相同的數值時,迴圈會繼續往後找,還是會立刻停下來?當它停下來的那一刻,變數 i 記錄的是這個數值的「大小」,還是它在排隊序列中的「位置編號」呢?
🤖
AI 詳解
AI 專屬家教
1. 大力肯定
同學,做得非常出色!這題考驗的是對程式邏輯的細緻追蹤能力。在工程領域中,演算法就像結構設計的邏輯骨架,你能精準判斷迴圈的終止條件,代表你的基礎編程素養相當紮實!
2. 觀念驗證
▼ 還有更多解析內容