下列 C程式,請問 t(2, 1, 3)與 t(5, 3, 4)回傳值各為何?
int t(int x, int y, int z) {
int n = z;
if (y < z) {
if (x < y) n = y;
else if (x < z)
n = y;
}
else {
if (x > y) n = y;
else if (x > z)
n = x;
}
return n;
}
(A) 2 與 4
(B) 1 與 4
(C) 3 與 5
(D) 3 與 3
答案:登入後查看
統計: A(25), B(144), C(74), D(22), E(0) #456006
統計: A(25), B(144), C(74), D(22), E(0) #456006
詳解 (共 1 筆)
#841682
略為整理
int t(int x, int y, int z) {
int n = z;
if (y < z) {
if (x < y)
n = y;
else if (x < z)
n = y; }
else {
if (x > y)
n = y;
else if (x > z)
n = x; }
return n; }
(1) t(x=2,y=1 ,z=3)
符合 y<z 進入if判斷式內,符合 x<z 進入else if判斷式內,所以n=y, 即輸出1
(2) t(x=5,y=3 ,z=4)
符合符合 y<z 進入if判斷式內,但是不符合其中兩個判斷式,所以 n=z, 即輸出4
7
0