c語言問題,希望師傅能幫到我。 在OO下感謝您

發布 財經 2024-08-01
11個回答
  1. 匿名使用者2024-01-31

    程式中沒有語法錯誤,但是使用指標的時候有問題,C語言裡有一條“規則”,就是指標變數在使用前必須初始化,如果不初始化,可能會報錯,可能會有更嚴重的問題。

    在上面的程式中,結構中的兩個指標沒有初始化然後分配,因此會導致執行時錯誤。 (請注意,編譯器不會檢查您是否已初始化指標,因此程式中沒有語法錯誤)。

    這是如何做到的:

    我已經評論了所有更改,因此它們應該易於理解。

    #include""

    #include""動態記憶體管理相關功能的標頭檔案。

    void main()

    struct data

    char *name;

    char *adress;

    struct data me;

    char*)malloc(10);動態開啟記憶體並初始化指標。

    char*)malloc(20);動態開啟記憶體並初始化指標。

    printf("請輸入名字:");

    scanf("%s",;

    scanf("%s",;

    printf("我的名字:%s",;

    free(;指標用於釋放記憶體。

    free(;指標在使用後釋放記憶體。

  2. 匿名使用者2024-01-30

    scanf 中缺少位址字元“&”

  3. 匿名使用者2024-01-29

    指標使用問題。

    #include

    void main()

    struct data

    char name[10];

    char adress[50];

    struct data me;

    printf("請輸入名字:");

    scanf("%s",;

    scanf("%s",;

    printf("我的名字:%s",;

  4. 匿名使用者2024-01-28

    第一點考慮的是優先順序,即算術運算子大於邏輯運算子,第二點是兩個整數的除法還是整數,即去掉小數點後的部分,第三點也是最重要的一點是邏輯運算,也就是在C語言中, 非 0 數我們認為它的邏輯值是 1,即為真,整數 0 的邏輯值為 0,即為假,所以這個問題的左邊是 1,右邊也是 1,邏輯或一側是 1,所以選擇 D。

  5. 匿名使用者2024-01-27

    答案是D

    理由:這是運算元優先順序的知識,整數除法的知識!

    有兩點需要理解:1.算術運算子優先於邏輯運算子。

    2.整數除法的結果仍然是整數,小數部分將被丟棄!

  6. 匿名使用者2024-01-26

    d 這種表示式的最終結果只是 0 或 1所以排除 a 和 b。

    只要有乙個 1,整個表示式就是 1

    C 語言中沒有邏輯變數,只能用 1 表示 true,用 0 表示 false。

    子表示式的最終結果只有 true 和 false。

  7. 匿名使用者2024-01-25

    不做有多簡單? 腦力抽水。

  8. 匿名使用者2024-01-24

    int a[4][10] 是乙個二維陣列,即陣列 int *p 指向陣列的指標。

    int*q[4] 是乙個指標陣列(它本身就是乙個陣列),選項 ap 是乙個只能指向一維陣列的指標(**p 指向二維陣列),而 a 是二維陣列。

    所以乙個錯誤。 選項 bq[i] = a[i]。

    q[i] 是乙個指標,a[i] 是乙個包含 10 個元素的陣列,a[i] 表示每行有 10 個元素的行。

    也就是說,a[4][10] 表示 4 行和 10 列(根據編譯器的不同,它也可以被認為是 4 列和 10 行)。

    所以 b 可以被認為是乙個 int *pt;

    pt =a[i];沒錯。

    選項 C 已經指出 a[i] 是乙個陣列。

    p 是表示位址的指標。

    p=a[i];沒錯。

    選項 dp 是乙個指標,它是乙個位址。

    a[2][1] 表示第 2 行第 1 列中元素的位址,因此 p =&a[2][1]。

    換句話說,它是。

    int n;

    p = &n;

    沒錯。 綜上所述,a 是乙個選項,錯誤是由於: 錯誤的語句 指標只能指向一維陣列的名稱,指標的指標可以指向二維陣列的名稱。

  9. 匿名使用者2024-01-23

    選擇 b、a、c 和 d 將位址複製到指標 q。

  10. 匿名使用者2024-01-22

    b*q[4] 的定義是定義乙個陣列指標,這意味著陣列中的每個元素都是乙個指標。

  11. 匿名使用者2024-01-21

    對於 a,它表示起始位址,而 p 是指標,當然可以分配。 、c 和 d 是相同的。 但是對於 b,q[] 表示特定元素的位址,a[] 是這一行中元素的起始位址,兩者肯定不等價。

相關回答
16個回答2024-08-01

此應用程式用於:

1. 求平均值。 >>>More

6個回答2024-08-01

這麼簡單的問題,你不想想就出來了嗎

9個回答2024-08-01

仔細檢視變數範圍部分。

其中定義的變數僅在 {} 中有效,未在其中定義的變數將在下一級的 {} 中找到。 >>>More

16個回答2024-08-01

建議大家去下面**選擇。

如果投資期較短,請選擇近期收益率最高的**進行買入。 >>>More

10個回答2024-08-01

這個話題很乏味,我想知道的是你做不到還是懶得做?