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

時間 2021-08-14 06:07:21

1樓:匿名使用者

d是錯誤的。

p和q同樣是指標型別,指向同一地址&n,而n是整型變數,不能把整型變數的值賦給指標的;

2樓:匿名使用者

d是錯誤的,不能把一個變數賦給一個指標。

應該是p=&n或者*p=n

3樓:匿名使用者

p*n是非法的。

指標(pointer)是程式語言中的一個物件,利用地址,它的值直接指向(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,因為兩者不是同一型別資料,所以不能進行運算,所以這個是錯的。

4樓:匿名使用者

同意樓上。p是指向int型別的指標,n是int型別的資料,不能p=n;。

5樓:匿名使用者

d是錯誤的。

應該是p=&n或者*p=n

6樓:

*p=&n是錯誤的,不能把地址賦給值

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

7樓:匿名使用者

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,因為兩者不是同一型別資料,所以不能進行運算,所以這個是錯的。

8樓:聽不清啊

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

9樓:匿名使用者

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

不能將int *轉化為int型

若有說明 int a=2;*p=&a,*q=p;則一下非法的賦值語句是?

10樓:匿名使用者

da是整型數,

int *p,*q定義了指標,

p,q是指向整型的指標。

p取得a的地址內

容,而q取得p的地址

p,q是指標(也就是一個地址),而*p和*q是這個指標指向的整型數值(存放在這個地址的值)。

a)把q的地址賦給p,則p和q完全一樣了,都指向一個數2b)把q中資料給p

c)把q中資料給a

d)a中資料是2,不能夠給一個地址。除非*q=a;

若有說明:int n=2,*p=&n,*q=p;

11樓:匿名使用者

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,因為兩者不是同一型別資料,所以不能進行運算,所以這個是錯的。

12樓:匿名使用者

a是兩個指標變來量之間源的賦值,正確

b是兩個指標變數所指向的記憶體單元之間的賦值,正確c是一個整型變數和一個整型指標的解引用之間的賦值,正確d是一個整型變數和一個整型指標的賦值,c語言不允許直接用整型變數給指標賦值,不正確。

13樓:匿名使用者

a b c都是對的

a p=q p和q都為指標變數,讓p指向q的地址b *p = *q 讓p指向地址的值 等於專q指向地址的值 *取值符號

c n=*q;

d p=n 不能這樣寫,p是指標屬變數,是代表地址,而n是值 寫成p=&n就對了

14樓:wonder想知道

以下依copy

次解釋abc:

a)因為p和q是同一型別的(都是int*型),所以可以把q賦值給p;

b)*號是取 指標所指向的儲存單元 的符號,p和q都指向n,所以*p相當於n,*q也相當於n,那麼這條語句就相當於n=n;,所以也沒問題。

c)同上,這條語句相當於n=n,所以也正確。

而d中等號兩邊的型別不同,不能相互賦值,所以錯了

若有說明:int n=2,*p=&n,*q=p;則以下非法的賦值語句是 a) *p=q; b) p=n;

15樓:

說明的意思是

n是整型數

p所指空間為n的地址

而q所指空間為指標p的指

答案很明顯

a)對,把q這個地址值賦給p的指向空間

b)錯,首先型別不匹配

16樓:匿名使用者

這兩個賦值語句在合適的編譯環境下可以視為合法,只不過賦值期間編譯器會進行型別值的隱式轉換。

當前大多32位cpu編譯器環境中,地址匯流排32位因此指標變數的大小也是32位。而一般int型別大小也是32位。本質上,地址變數儲存的數值也是整型,因此從bit級角度講,這二者之間進行賦值操作是可以完成的,但由於這種賦值而可能引起的後來的指標引用對記憶體讀寫就可能帶來嚴重無定義的後果。

*p=q其實就是把指標q中儲存的地址值複製給p指向的int型變數空間中

p=n其實就是把int型變數n的值2複製到指標p的變數空間中

17樓:匿名使用者

b) p=n;

應改為p=&n;

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

18樓:開心

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

7. 設有定義:int n=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是( )。 a) p=1; b) *q=2; c) q=p; d) *p

19樓:匿名使用者

n是整數,p是整數指標,q是雙重指標。

a:p=1 屬於將地址1賦給p,非法。

b:*q=2 這裡*q相當於一個整數指標,問題同上,非法。

c:q=p 相當於把p的地址賦給q,不能說錯,但是不同維數的指標互相賦值,容易出錯。

以上三種都是編譯沒有問題。

d比較符合規範而已。

20樓:匿名使用者

這題出的是有點問題,按他這意思,q應該是一個指向指標的指標,所以正確答案應該是d,

但是不能說其他的賦值是錯誤的,只是對這個題來說沒什麼意義而已。

跪求 若有定義 int x 3,y 2 float a 2 5,b 3 5則表示式 x y 2 int a

結果是1 x y 2 1這個不用說了,都是整形操作,沒有問題 int a int b 0為什麼呢?int a,int b已經強行把float型轉換成int型,系統將將呼叫 運算的整形形式,所以得到的結果也會取整,所以為0 int x 3,y 2 float a 2.5,b 3.5 x y 2 int...

若有說明語句 char c72 則變數c包含字

因為變數c宣告為char型別,char用於c或c 中定義字元型變數,只佔乙個位元組 8位 char型資料是計算機程式語言中只可容納單個字元的一種基本資料型別。字元是指計算機中使用的字母 數字 字和符號,包括 1 2 3 a b c 等等。在 ascii 編碼中,乙個英文本母字元儲存需要1個位元組。在...

c語言若有定義語句int b2則表示式b《2b 的值是

我感覺這題答了以後 採納率又會下來。2 的二進位制形式 0010 b 2 1000 8 3 b 3 2 1 所以最後的表示式的值就是 8 至於你說的為什麼3 b 1.首先你得分清 與 運算。是按位或 就是你說的 011 010 後結果為 011 而在 的世界裡,只認兩個值 0 和 1。即真和假 所有...