問題詳情

27 考慮以下的資料結構定義及變數宣告:

下列何者設定句會造成編輯錯誤?
(A) strcpy(n1.pile, n2.pile);
(B) n1.left = (*n3).right; n1.right = n4;
(C) n4 = (node *)malloc(sizeof(node));
(D) n2.left =&n1; n2.right = n4.left;

參考答案

答案:D
難度:適中0.429
書單:沒有書單,新增

用户評論

【用戶】112年已上岸,再接再厲

【年級】博二下

【評論內容】(D) n2.left =&n1; n2.right = n4.left;1.用*訪問 : *(結構指針變量).結構成員名2.用 ->訪問 : 結構指針變量->結構成員名n4 的敘述是錯誤的,因為 n4 是一個指向 node 結構的指針,而不是一個 node 結構,不能直接使用 . 運算符來訪問它的成員。應該使用 -> 運算符號來訪問指針所指向的結構的成員,也就是需要改成 n2.right = n4->left;。https://lufor129.medium.com/%E8%B3%87%E6%96%99%E7%B5%90%E6%A7%8B%E8%A4%87%E7%BF%92-%E4%B8%89-%E7%B5%90%E6%A7%8B-%E7%B5%90%E6%A7%8B%E6%8C%87%E9%87%9D-f87399870fe5