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

C 語言指標賦值錯誤選項分析:*q=0 為何錯誤而 p=0、q='\\0' 正確

     編輯:程式設計綜合問答

程式碼情境


int *p, *q = NULL, k = 1;
p = &k;

選項:A. *q=0 B. *p=k+1 C. p=0 D. q='\0'

逐項分析

選項合法性說明
A. *q=0錯誤q=NULL,解引用空指標 → 未定義行為,通常崩潰
B. *p=k+1正確p 指向 k,修改 k=2,完全合法
C. p=0正確指標賦值為空指標常數,合法(等同 p=NULL)
D. q='\0'正確'\0' 為整數常數 0,隱式轉換為空指標,合法

題目答案修正

原標註答案為 C,**實際錯誤選項為 A**。*q=0 解引用空指標是嚴重錯誤;p=0 僅將指標變數設為 NULL,完全合法。

總結

指標變數本身可賦值為 0/NULL/'\0';**解引用空指標** (*q) 才是錯誤。本題正確答案應為 A。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved