1樓:星空
bp為a【0】地址。
2樓:匿名使用者
c
定義為int *p[3],a[3];
可知這裡p是一個指標陣列,p為陣列名,所以不能作為賦值號的左運算元,所以ab不對
*p即p[0],所以c等效於p[0]=a,如上所說,陣列p的元素是指標,所以d是不合適的
變數定義為:int *p[3], a[3];,( c )是正確的賦值。 81. a.p = &a[
3樓:寧靜の樂章
p是一個一
維陣列,沒問題吧?他的元素型別是int*,所以他裡面存的應該是指標(地址)值,理解?a是一個一維陣列,他的元素是int,a就是這個陣列的首元素地址,這個肯定記得吧。
那麼把a(型別是int*)賦給p中元素p【0】當然是沒問題的了
有定義 int s[3][10],(*k)[3],*p; 以下賦值語句正確是 a.p=s; b.p 30
4樓:匿名使用者
a.p=s; //左右型別不同! s是二維陣列,相當於二維指標,而p是一維指標變數,所以,嚴格來說是錯的
b.p=k; //左右型別不同! k是陣列指標,指向三個int資料的塊指標,相當於二維指標,所以,嚴格來說是錯的
c.p=s[0]; //正確
d.k=s; //左右型別不同! k是指向三個int資料的塊指標,而s的一行有10個元素
若有定義語句:int a[2][3],*p[3]; ,則以下語句中正確的是
5樓:匿名使用者
應該選c。
p是一個指標數
組,它有四個元素,每個都是一個指向int型的指標。
a是一個二維陣列,它的每個元素都是int型的。
a的錯誤是因為p是常量(陣列名都是指標常量),不可以被賦值。而且p和a的型別也不一致。
bcd都是對p的元素賦值,這是可以的,等號右邊應當是一個int型資料的指標(即地址)。c選項中a[1][2]是a的一個元素,是一個int型值,&取了它的地址,所以是正確的。
6樓:匿名使用者
int* p[3]是定義了一個大小為3的陣列指標,也就是定義了三個int型的指標。
p代表指標陣列的首地址,相當一個二維指標。
p[0],p[1],p[2]代表一個int型指標c是對的
若有定義語句:int a[2][3],*p[3],則以下語句正確的是(c)
7樓:匿名使用者
int a[2][3],*p[3];
因為的優先順序比*高所以p是一個陣列,這個陣列存放的是指向整數的指標。
即存放的是一個整數變數的地址。
而&a[1][2]正好是一個整數的地址。
所以p[0]=&a[1][2]正確。
補充回答:
因為dint *p[3];
p是一個陣列,這個陣列存放的是整數指標。
p[1]就是一個整數指標。
但是&a並不是整數指標,它是一個陣列的指標。
8樓:
帶星號證明是指標,賦值時只能給一個地址值,我只知道這了,那你就看a是代表首地址還是首個值
2. 若有以下定義,則賦值正確的是
9樓:匿名使用者
p = &c ;意思:取c的地址給p,型別不對。p要的是指向int型的變數的地址,但這裡卻給了個float型的。
q = p;:用p給q賦值。型別不對。p是指向int的指標,q卻是指向float的指標,型別不同不能賦值。除非強制轉換。
p = null; :p是一個指標,但它不指向任何變數,多以答案對的。也就是暫時先不給它賦值,以後再賦值。
如:int a = 0, *p;
p = null;
.....
p = &a;
q = new : 語法錯誤。new是關鍵字。
10樓:匿名使用者
a: p=&c 由於p是int型指標,
&c是浮點型地址,型別不合,如果寫成p=&a就可以了b: q=p 類似,q為浮點型指標,p為整型指標,型別不合c: p=null 任何指標都可以指向空
d: q=new 不完整語句,可以寫成q=new float根據上面分析,所以只有c正確
11樓:虎光牆
a。c是浮點型的賦給整型p不對,同樣b也排除,d。new是關鍵字,怎麼能賦給q。
設有定義語句:int a=3, b, *p=&a;要將變數a的值賦給變數b,下列語句中不正確的賦值方式是______。
12樓:匿名使用者
選d*是用來取指標指向的地址中的資料的.a不是指標,當然不能寫作*a了.
而b=*&a之所以對是因為:
int *p=&a;它相當於int *p;p=&a; p是指標,所以&a也是指標,所以才會有*(&a)之說啊
int (*p)[3],a[3];a,p都是指標,為什麼不能進行p=a操作?
13樓:睦桂花成嬋
型別不一致,因此不能賦值。int
(*p)[3]的型別是int
(*)[3],指向每行具有3個元素的行指標;a[3]的型別是int*,指向整型變數的指標。
14樓:鄂成元珍
因為p是指標陣列,儲存的是指標
單純的p,表示這個陣列的首地址,是一個常量,是不能被賦值的就像你不能進行如下操作一樣:
0x000=a;
如果要真想賦值,應該是對p的成員賦值:
p[0]=a
若有定義 int a[3][4],b[4][3],(*p)[4]; 下列賦值等式正確的是 答案是 p=&a[1] p=b為什麼錯
15樓:匿名使用者
(*p)[4]的意思是:p是一個指向具有4個int型別元素陣列的指標。
a[3][4]有3行,每行的元素有4個
b[4][3]有4行,每行的元素有3個
所以 p=&a[1]是對的,讓p指向a的第二行的四個元素,因為a的每行有四個元素,這與p的定義恰恰是匹配的。
以下選項中,不正確的賦值語句是A x y B xC x 2 D x 5求講解
選da.x y 將y的值賦給x b.x 將x的值增1 c.x 2 將x除以2的餘數賦值給xd.x 5 判斷x的值是否與5相等,不會改變x的值,故選d x 相當於 x x 1 x 2,相當於 x x 2 x 5,是比較表示式 很明顯,選d 是不正確的c語言賦值語句。a.x 1,y 2 b.x c.x ...
以下正確的賦值表示式是A x 2 y3 c B (x 10 2,y 3),z 3 C x
ca 等價於 抄x 2 y 3 c y y 1 的運算襲2優先順序高於 所以上式又等價於x 2 y 3 c y y 1 因為 2 y 不是有效的變數,所以a錯誤 b 等價於 x y 3 z 3 很明顯這不是賦值語句 注意 運算子是取最後一個 c正確,等價於 x y z y y 1 z z 1 d 等...
若a是int型變數,且a的初值為6,則執行下面表示式後a的值為a a a a
從右到左開始運算。首先a a a a a 36 a a a 就是 a 6 36 30然後再 a a 就是 a 30 30 60 c語言一道題目,求解,若a是int型變數,且a的初值為6,則執行表示式a a a a後a的值為 從右往左依次計算 a a a得到a a a a 6 6 6 30a a得到a...