📖 閱讀測驗 · 共用前文
依據下列 C 語言程式,回答第 14 到 16 題。
假設我們編譯這一程式,並將所得之可執行檔案命名為 prob.exe。
#include <stdio.h> // 這是第 1 行
#include <stdlib.h> // 這是第 2 行
typedef int (*funp)(int); // 這是第 3 行
int fun1(int a) {return a+1;}; // 這是第 4 行
int fun2(int a) {return a+2;}; // 這是第 5 行
funp funp2 (int s) { // 這是第 6 行
if(s%2==1) return &fun1; // 這是第 7 行
else return &fun2; // 這是第 8 行
}; // 這是第 9 行
void main(int argc, char **argv) { // 這是第 10 行
int (*prob) (int); // 這是第 11 行
prob = funp2(atoi(argv[1])); // 這是第 12 行
printf(“%d\n”,prob(2)); // 這是第 13 行
} // 這是第 14 行
我們用下列幾種方法執行 prob.exe,何者是正確敘述?(備註:所執行的指令放在雙引號裡面)
A“prob.exe 1” 會看到 4
B“prob.exe 2” 會看到錯誤訊息
C“prob.exe 1+3 3+2” 會看到 5
D“prob.exe 3” 會看到 3正確答案
答案與詳解
