C語言指標有問題

2022-05-25 19:00:03 字數 538 閱讀 9833

1樓:sym_東方不敗

首先,你定義的第二個語句本身錯誤,改為char a[20],陣列宣告時必須要確定大小,可以不初始化;

scanf的後2種用法都不會報錯,第乙個格式不匹配報錯,第三個不會得到你想要的結果:

第乙個的輸入格式是整形,指標p被宣告為字元型;

第三個你輸入的字元會變為ascii碼值傳給a

2樓:

scanf("%d",p) 對應 3、int a,*p=&a; 是對的

scanf("%s",p) 對應 2、char a,*p=a; 是對的

scanf("%c",p) 對應 1、char a,*p=&a; 是對的

對應錯誤就會出錯啦

3樓:愛好_問問

我試了,scanf都可以,第二個只要輸入字串不超過陣列長度就沒問題

4樓:小飛花兒的憂傷

scanf後面的引數需要是指標,然後把資料送入指標所指向的空間。注意陣列要開闢足夠的空間。

C 指標的問題,C語言指標問題

這麼說吧,指標是以後資料結構的基礎,比如單鏈表,雙鏈表,二叉樹等等等等,全部都時指標做的,還有1720次對於現在的計算機來說,是個很小很小很小的數量級。指標學好了受益匪淺,並且也是程式設計今後必須的。指標的確是可以大大提高效率,但是要看你怎麼用,就和遞迴演算法一樣,另外,顯示位址是你語句的問題。比如...

C語言指標,問題啊,初學啊,C語言指標問題(初學者)

j c這一句是錯誤的,j是int 型別的變數,只能儲存int型變數的位址值,應該改為j c才對。p是位址符格式。這樣輸出的是c的記憶體位址。想要通過j輸出c的值,應該這樣寫printf d j j儲存的才是c的值,j儲存的是c的位址。所以1 3 都應該改為 j p是輸出位址符格式,j是指向變數c的指...

C語言指標問題

include void main printf how many rows?n scanf d m printf how many colum?n scanf d n printf the hightest score is d n max printf the student is d clas...