107年鐵路特考員級程式設計概要

二、請依據下列 C++ 程式碼執行後,試問輸出結果為何?(25分)

#include <stdio.h>

#include <stdlib.h>

void F(int* p, int n) {

int i;

for (i = 0; i < n-1; i = i+1) {

int tmp = *(p+i+1);

*(p+i+1) = *(p+i);

*(p+i) = tmp;

}

}

int main( ) {

int a[5] = {7, 3, 6, 9, 5};

F(a, 5);

for(int i = 0; i <= 4; i++) {

printf(“%d\n”, a[i]);

}

system(“pause”);

return 0;

}

輸出結果

3

6

9

5

7

說明

void F(int* p, int n) {

int i;

for (i = 0; i < n-1; i = i+1) {

int tmp = *(p+i+1);

*(p+i+1) = *(p+i);

*(p+i) = tmp;

}

}

int a[5] = {7, 3, 6, 9, 5};

0

1

2

3

4

7

3

6

9

5

int tmp = *(p+0+1); // int tmp = 3

*(p+0+1) = *(p+0); // 交換 7, 3

0

1

2

3

4

3

7

6

9

5

int tmp = *(p+1+1); // int tmp = 6

*(p+1+1) = *(p+1); // 交換 6, 7

0

1

2

3

4

3

6

7

9

5

int tmp = *(p+2+1); // int tmp = 9

*(p+2+1) = *(p+2); // 交換 7, 9

0

1

2

3

4

3

6

9

7

5

int tmp = *(p+3+1); // int tmp = 5

*(p+3+1) = *(p+3); // 交換 5, 7

0

1

2

3

4

3

6

9

5

7

 

 

arrow
arrow
    文章標籤
    鐵路特考員級程式設計概要
    全站熱搜
    創作者介紹
    創作者 jacksaleok 的頭像
    jacksaleok

    國考資訊處理工作室(高考二級資訊處理/高考三級資訊處理/調查局三等/關務人員三等/地方特考三等)

    jacksaleok 發表在 痞客邦 留言(0) 人氣()