📖 閱讀測驗 · 共用前文
依據下列 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 行
如果把上述程式第 13 行換成下列指令,完成編譯,並將所得可執行檔案仍然命名為 prob.exe。下列何者是正確的敘述? printf("%s %s\n", argv[1], argv[2]);
A執行 “prob.exe 1+3 3+1”,則會看到 “prob.exe 1+3”(實際所看的資料沒有引號)
B執行 “prob.exe 1+3 3+1”,則會看到 “1+3 3+1”(實際所看的資料沒有引號)正確答案
C執行 “prob.exe 1+3 3+1”,則會看到 “prob.exe 4”(實際所看的資料沒有引號)
D執行 “prob.exe 1+3 3+1”,則會看到 “4 4”(實際所看的資料沒有引號)
答案與詳解
