28 執行下列 C 程式後,產生的輸出為何?
#include<stdio.h>
int x;
void unknown(int y) {
x = 3; y = 5;
}
void main() {
int z;
x = 7; z = 9;
unknown(11);
printf(“%d”, x);
}
(A)3
(B)5
(C)7
(D)11
答案:登入後查看
統計: A(138), B(21), C(134), D(15), E(0) #852261
統計: A(138), B(21), C(134), D(15), E(0) #852261
詳解 (共 6 筆)
#1279911
X是全域變數,跟有無傳回無關
5
0
#1279450
注意喔~ 因為X是全域變數
5
1
#5622517
int x 宣告在 main() 主函式外,所以為全域變數
所以只要主函式或是副函式內都沒有重新宣告(int等等),就享有共用全域變數讀寫的權力
最後就看誰最後使用 x 變數,就是unknown()函式裡的 x = 3
因為下行就是printf()了
2
0
#1105432
#include<stdio.h>
int x;
void unknown(int y) {
x = 3; y = 5;
}
void main() {
int z;
x = 7; z = 9;
unknown(11);
printf(“%d”, x);
}
0
0
#1207168
會回傳X的值嗎? 我以為只有y
X還是7
X還是7
0
0