若有說明 int n 2,p n,q p則以下非法的賦值語句是

2021-04-18 03:48:42 字數 1158 閱讀 9471

1樓:匿名使用者

p*n是非法的bai。

指標(pointer)是程式語言中du的一個物件,利zhi用地址,它的值直dao接內指向(points to)存在電腦儲存器中另容一個地方的值。

題目中int n=2,*p=&n,*q=p 定義整型n,p是一個指向n的指標,它的值為n的地址。q是一個指標,q的值和p的值相同,也就是它倆是同樣的地址。

p=q使得p的值等於q的值,它倆都是指標,可以賦值。*p=*q意思是指標q指向的值賦給q地址指向的值。n=*q是將指標q所指向的值賦給n。

p*n,因為兩者不是同一型別資料,所以不能進行運算,所以這個是錯的。

2樓:聽不清啊

d p*n 就是非法的,不能正確執行。

3樓:匿名使用者

p是指標,n是整數 不能使用*號

不能將int *轉化為int型

(6) 設有定義:int n=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是

4樓:匿名使用者

選d.a.p是一個指標,不能給它賦一個整型的值1b.

*q仍然是一個指標,*q就是p.所以也不能給它賦一個整型的值.c.

q=p;q是個二級指標,p是一級指標,不能把一級指標賦給二級指標.*p=5,即給n賦值為5,正確.

5樓:匿名使用者

d p是指標q是指向批針的指標,記錄的是地址多翻下書這不太好理解

6樓:匿名使用者

我打假 來了 如上,*q是指標,那麼p就存的是他的地址,就是n 的記憶體中的位置,表示為&n而**p = &q,說明**p是個指向*p的指標 即是**p的值為n,而*p裡面裝的呢是p,即是&n,n的記憶體單元**p 裡面裝的是*p的記憶體單元,在這兒**p 和*p 和q 裡面都裝的是記憶體,是資料在機器裡面的地址,對於這種我們不能夠用這種直接賦值的方式改變它 故而我們看a,b,c 都是這樣 所以abc錯誤,他們都在改人家記憶體

有定義int x=2,*p=&x;*q=p,一下賦值語句錯誤的是

7樓:開心

d是錯誤的,p是指標,x是變數,指標只接受地址,不能接受變數本身的值。

若有以下說明inta101,2,3,4,

你是想說用地址法輸出陣列的值麼,那你就得 版這權樣寫 void main 你是想抄說用地址法襲輸出陣列bai 的值du麼,那你就得 zhi這dao樣寫 12345678void main 若有以下說明 int a 10 1,2,3,4,5,6,7,8,9,10 p a 則對陣列元素地址的正確表示是 ...

若有說明語句 double p,a,則能通過scanf語句正確給輸入項讀入資料的程式段是

a是錯了.如果是這 bai些寫 double a double p a scanf lf p 是可以的du,p它是一個指向double型別的指標zhi,p a 是錯誤的,你把dao一個指標賦給內了 p,而 p是指標p指向的容地址的值即a,是一個int型,不能儲存指標的值 它的意思是 a.double...

設有定義 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的地址 指標變數中存的是地址值,通過地址值...