阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 關務特種考試_四等_資訊處理:程式設計概要#98238
科目:程式設計
年份:110年
排序:0

申論題內容

四、請仔細觀察下列程式碼,請問 function 之功能為何?
608683d43b056.jpg

詳解 (共 1 筆)

詳解 提供者:Phil(112高普雙榜)

function迴圈主要在做兩件事情,第一個for迴圈會先將傳入該function的陣列位址+2並取值後,結合原本的function進行後續的運作。

原本的array-

index

0

1

2

3

4

value

103

45

99

38

76

第一個for迴圈之後

index

0

1

2

3

4

5

6

value

103

45

103

45

99

38

76

**38和76照理來說是不存在原本的array中的,因為這兩個值已經超出原本的array的範圍,但為了後續說明方便,還是列入陣列中**

第二個for迴圈會從超出array範圍的第一個值開始,只要array的範圍沒有超過array[2],那就會將超出array範圍的第一個值與經過第一個for迴圈的array之第一個值進行取代,直到p2的條件大於等於array[2]為止;因此其表示方式如下-

第一個for迴圈之後

index

0

1

2

3

4

5

6

value

103

45

103

45

99

38

76

**同理如上**

第二個for迴圈之後

index

0

1

2

3

4

5

6

value

38

76

103

45

99

38

76

 

在main中,第一個迴圈會將原本的array逐一進行輸出,第二個迴圈則是會將經過function之後的array進行輸出;故本題的結果如下-

103,45,99,38,76

38,76,103,45,99