uj5u.com熱心網友回復:
給陣列a指定一個長度,如char a[32].uj5u.com熱心網友回復:
其一,scanf里面第二個引數應該是a,而不是&a。沒表現出問題是因為它倆的“值”都是同樣的地址值。但是它們的型別不同,亂用是一個很粗淺的錯誤。其二,a沒有給出長度,未初始化的陣列又不給出長度,這應該是個error才對。
uj5u.com熱心網友回復:
這兩個問題都不能忽視,不要因為沒看出后果就不以為然。此處省略因措辭嚴厲而引起讀者不適的一百五十字。
uj5u.com熱心網友回復:
必須要指定長度嗎
uj5u.com熱心網友回復:
兄臺我還有三個問題:
1、&a 和a地址值相同是不是一種偶然?
2、字符陣列和字串有何區別?
3、以%s格式地址是字符陣列首地址,居然能列印出整個字符陣列,這是神馬情況?
uj5u.com熱心網友回復:
在CSDN論壇里搜下"字符陣列和字串的區別和聯系".scanf()函式用法,參考下:https://blog.csdn.net/luxuejuncarl/article/details/1576513
uj5u.com熱心網友回復:
1、作為一維陣列名,a和&a表示的地址值相同是必然的,不是偶然。但更重要的是它們還有區別,位于白馬背上的不一定都是猴子的師傅。2、字串,是特定的語法概念,其物體結構,開始于某個首地址,結束于碼值為0的字符。用首地址表示,同時其語法意義也多半是其首地址。可以放進字符陣列這個容器,也可以不放。
字符陣列是每個元素占用1位元組的陣列,可以用來存放字串也可以用來存放不是字串的東西。
3、見上,%s參考首地址,列印字串。碰巧該字串放在字符陣列里,看著好像列印字符陣列了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/271669.html
標籤:C語言
下一篇:編輯中錯誤的解決
