首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

C 語言程式填空題解析:最大值函數、變數交換、scanf 取址

     編輯:C 語言問答

題目還原 (根據圖片推測)


// 10: max 函數呼叫
max(___, ___);  // 答案: a, b

// 11-12: 交換邏輯
z = x;
z = y;          // 答案: 11: z=x  12: z=y (但通常需暫存: temp=x; x=y; y=temp;)

// 13: 變數宣告
___ a, b, c;    // 答案: int

// 14: scanf 取址
scanf("%d%d%d", ___, ___, ___); // 答案: &a, &b, &c

// 15: 交換暫存
___ = a;        // 答案: temp

詳細解析

10. max(a, b)

傳遞兩個整數變數給最大值函數,參數順序不影響結果。

11-12. 交換兩數

標準三步驟:


temp = a;
a = b;
b = temp;

若題目只有兩行 z = x; z = y; 可能是錯誤示範,正確需三句。

13. int a, b, c;

宣告三個整數變數接收輸入。

14. &a, &b, &c

scanf 需要變數**位址**以寫入值,& 取址運算子不可少。

15. temp = a;

交換第一步:先暫存 a 的值。

完整參考程式


#include 

int max(int x, int y) {
    return (x > y) ? x : y;
}

int main(void) {
    int a, b, c, temp, z;
    printf("輸入三個整數: ");
    scanf("%d %d %d", &a, &b, &c);

    printf("max(a,b) = %d\n", max(a, b));

    // 交換 a, b
    temp = a;
    a = b;
    b = temp;
    printf("交換後 a=%d, b=%d\n", a, b);

    // 找最大值 z
    z = a;
    if (b > z) z = b;
    if (c > z) z = c;
    printf("三數最大值 z = %d\n", z);

    return 0;
}

考試填空高分技巧

  • **先讀懂上下文**:看懂整個函數/流程在做什麼。
  • **型別對應**:%d 對 int*,%f 對 float*,%s 對 char[] (無需 &)。
  • **運算子優先級**:= 最低,? : 低於關係運算子。
  • **常見模式背熟**:交換三步驟、最大值三元運算、scanf 取址、迴圈邊界 i=0; i。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved