設有定義 int a,pa以下scanf語句中能正確為變數a讀入資料的是

2021-05-29 07:40:14 字數 1178 閱讀 3564

1樓:紫夜星塵

定義的來時候就已經說了

源pa是指標變數了啊,同時賦予了整型變數a的地址的值。在scanf語句中,pa所代表的就是等同與&a的一個地址數值。計算機靠這個地址的值找到要儲存的位置。

b.很明顯就錯了啊,scanf("%d",a); 這個位置中,a處要填的是地址的值,a只是一個變數名。

c.&pa根本就不代表什麼,在定義裡,要寫*pa才代表pa這個變數是指標變數,而在語句中,只要寫pa就代表指標了,寫成*pa反而代表的是那個地址所儲存的內容。

d.跟b等同效果。

2樓:介樹花弘詩

樓主,指標的概念是指向一段地址,再看sacnf("%d",&a),中a也是要取a的地址,如果你要加*那就是解析那個指標了。

3樓:公叔恭漫歌

pa是指標,*pa=&a把a的地址賦值給pa,所以pa就是地址,不用加取地址符號

謝謝採納

4樓:匿名使用者

答案當然是a

函式bai

名稱: scanf

函式原du型: int scanf(char * format,args,...);

函式功能: 從標準zhi輸入裝置dao按format指向的格式

版字元權串規定的格式,輸入資料給agrs所指向的單元.

函式返回: 讀入並賦給args的資料個數.遇檔案結束返回eof,出錯返回0.

函式說明: args 為指標.

5樓:

答案為a 因為scanf()中的第二個引數就是要輸入的那個數的地址,由於有*pa=&a,所以,pa就是a的記憶體地址了,所以選a 它等於scanf("%d",&a);

6樓:匿名使用者

scanf函式後面跟的必須是地址或者指標

設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12

7樓:匿名使用者

賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第一個後a的值是-6,再計算第二個,a的值就是-12

8樓:日出日落三十天

d a=3+3*3=12

設有定義 int n1 0,n2,p n2,q以下賦值語句中與n2 n1 語句等價的是A p q B p q C p

n2 n1 是將n1的值賦值給n2,與變數地址無關,因此去除所有對指標操作不帶 的選項 b d c.p n1 是將n1的地址值賦值給p,即p指向n1,與n2無關。是取變數地址操作符 a.p q 正確,通過n1的地址q,提取資料n1的值,賦值給由p所指向的n2的地址 指標變數中存的是地址值,通過地址值...

設有如下變數定義charaa3abcdef

char p 3 我們可以可以看到p是指向一個有三個元素的字元陣列的指標。那麼當p 的時候,相當於跳過指向的陣列。再來看一下,char aa 3 我們可以發現aa是二維陣列,而p指向的是一維陣列。所以我們去分解aa讓他變成兩個一維陣列 和p在 操作前其實是指向前面那個一維陣列,當p 之後,p此時其實...

設有定義語句「int a 10,p a則表示式「a p」的值是

結果是20啊 p就等於a啊 我用程式給你測試了 void main 不確定,p中儲存的是a的地址,且 p沒有分配儲存空間,可能導致程式崩潰。在int a 10,p a 語句中,p的值是 答案是 c 變數 p 應該是個二級指標 int p c語句int a 10,p a 則 p 1的值是 11 p a...