若有以下定義,,則正確的程序是,,int*p,*s,i,j;char*q,ch;
sos】若有以下定義,,則正確的程序段是__int*p,*s,i,j;char*q,ch;2013.10.31瀏覽157次操作系統(tǒng)分享舉報Amain(){*p=100;...}Bmain(){p=&ch;s=p;...}Cmain(){p=&i;q=&ch;p=q;...}Dmain(){p=&i;q=&ch;*p=40;*q=*p;...}習題答案是D,,為啥有沒有大佬教教
首先,,你要說明你的語言,,是C或C++
因為對c語言,,上面所有的程序段都沒有語法錯,而對C++,。B/C中,,類型不匹配
B中,p=&ch, 直接將char *賦給int *,是C++語法不允許的
而C中,,p=q,,道理同B
A語法沒錯,但p沒有分配內存,,是個"野"指針,,運行要出錯的
所以對C++,只有D是正確的(c++的int與char變量可以隱式轉換,,相互賦值 )
而對c語言,,B/C/D都是可以正常編譯運行的,只是某些編譯器會有警告信息,。
相關推薦
便查問答是一款實用的網絡熱門知識問答平臺,專注于分享你不知道的知識,、經驗及生活問題,,在這里所有人都能找到答案歡迎網友參與討論,。