地特四等
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. 觀念驗證
▼ 還有更多解析內容