c語言指標與scanf和printf的問題

2021-12-27 18:29:21 字數 566 閱讀 4909

1樓:乙浦澤

我感覺b和d都正確,但b應該不提倡。不是宣告的情況下,*p是值,p是位址。

a:a本身就是位址,&a多此一舉,後邊的輸出應該是*p。

b:*p與a[0]都是值,後邊的輸出也是值。

c:*p是值,&a[0]是位址,錯誤,後邊的應該是p.

d:p與a都是位址,後邊的是位址。

注:printf 引數部分是值,scanf引數部分是位址。b

2樓:次遠戰

第四個沒錯,b錯了,原因是a[0]沒有初始化,沒有賦值,因此a[0]的值不確定,怎麼可以在賦值給其他變數,會報錯的,a和c錯誤的原因和樓上一樣,呵呵,**都幫你打了,採納下唄

3樓:隗萌位子平

printf函式:a是指變數的值,將變數a的值輸出scanf函式:&a是a的位址,將從輸入得到的數存入變數a中printf("d%\n",(*p_arr)[2]):

這裡(*p_arr)[2]是個變數的值

int(*p_arr)[3]=&array ,這裡的定義說明p_arr是指標,指向乙個存3個int的陣列

c語言scanf的疑問,C語言scanf的疑問

你換了while語句中的scanf位置後,那麼while語句前的scanf得到的x值就永遠都不會參與到while語句中的 t x 這樣你輸入的第乙個數字x都是無效的!補充的第一問 c.它前面最近的未配對的if 第二問 以偶數為例,a為偶數時,a 2為0,你的要求是此時以下表示式為假。a.a 2 1 ...

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

這個演算法最後的時候 p和q都是指向a的,在最後這個時候a的結構是,q之前的是所有的除了版 之外權 的字元。q之後的都是原來a裡面的資料,對於這個時刻是髒資料。最後把q指向的那個位置賦值為 0可以在遍歷a的時候,不遍歷到髒資料,而這個時候p正好指向的就是 0,所以 q p 迴圈結束條件是 p 0,因...

c語言scanf函式格式問題

寒寒家 首先明確 1.對於 d的輸入,會忽略之前的空格 2.對於 c的輸入則不會忽略。3.對於 d的輸入,會被字元截斷,這也就是 輸入 10a20b 的時候,也不會錯的原因了。正確答案是a x1接收了10,y1接收了字元a,之後是一個空格,而輸入的是 d,所以會忽略空格,所以x2接收了20,y2接收...