有定義語句 int a 10p,q且0i4,則錯誤的賦值是 A)p a B)q C)p a D)p a

2021-08-11 19:13:51 字數 2700 閱讀 2496

1樓:火虎

a。p的型別是int *,a的型別是int (*)[10],型別不符,不能賦值。將確定的數值賦給變數的語句叫做賦值語句。

各程式語言有自己的賦值語句,賦值語句也有不同的型別。所賦「值」可以是數字,也可以是字串和表示式。

2樓:

你定義的a[3][2]是二維陣列,有6個元素,但初始賦值只有5個被賦值了,

最後乙個未賦值的預設就是0了。

int *p是一維指標,而a是二維的,故不能賦值。

3樓:墨派

p=a是正確的!無論是一維陣列還是幾維陣列,陣列名代表的是陣列的首位址,其根本上就是乙個指標,而p又是指標,二者當然可以互相賦值!

4樓:

按c的規則,上題中p=a的指標賦值語句是錯誤的,它試圖把乙個二維陣列指標賦給乙個int型變數指標。指標不只是個位址,它還承載有更多的資訊:它指向的元素佔多少位元組?

元素中有無巢狀元素?有無函式?所有元素的儲存性質……等等,都包含在指標中。

如果指標只是個位址的話,那就沒有int*、char*、double*、struct*、file*、(*)()……之分了,因為它們都是個位址!相信上面貼的**在vc++下是不能通過編譯的。如果執行結果是123340的話,應該是p=a[0]賦值後的結果,因為題中a[0]是具有10個int元素的陣列的首位址,剛好與int *p匹配!

當然a[1]、a[2]、a[3]也與p匹配,但不會打出123340來……

5樓:嶺路西

不是啊 應該是b錯誤 a是正確的 陣列賦值給了指標要不怎麼能輸出正確的結果呢 呵呵

若有定義語句:int a[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是

6樓:匿名使用者

錯誤的是a

a相當於 **a

很顯然,p是指標;a是指向指標的指標。

兩個無法賦值。

有定義語句:int a[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是

7樓:冷煙

a。p的型別是int *,a的型別是int (*)[10],型別不符,不能賦值。

c語言中:若有定義語句:int a[4][10],*p,*q[4];且0≤i<4。

8樓:

(1)與2維陣列相似,但絕不是2維陣列。它是乙個指標陣列,它的每乙個元素均為乙個位址

(2)如題,p是乙個一級指標可等價於一維陣列,你的第乙個式子估計不會成立,原因:p[i]應該存放乙個資料,而a[i]是二維陣列a的第i列的首位址,型別不匹配(你的p也沒有賦初值,是個野指標,即指向不確定空間,有的編譯器可能能通過,不過執行會有問題),第二個式子的意思是把a的第i列的首位址賦值給p(此時p就相當於乙個一維陣列,它能訪問a的第i列的元素);

c語言,二維陣列問題:若有定義:int b[4][6],*p,*q[4];且0≤i<4,則不正確的賦值語句是?

9樓:匿名使用者

p=b;不正確,選b。

b是乙個二維陣列,可以把它看成是由4個有6個元素的一維陣列組成的。

則b[i]就是第i+1個一維陣列的陣列名,而陣列名表示的是陣列首元素的位址。所以,b[i]即&b[i][0],它是乙個int*型的位址,而q是乙個陣列,每個元素是乙個int*型的指標。則b[i]當然可以賦給q[i]與p,所以,a、c正確。

自然,d肯定是正確,所以選b。

【sos】若有以下定義,且0<=i<4,則不正確的賦值語句是 int b[4][6],*p,*q[4];

10樓:匿名使用者

*q[4]是int *型指標陣列;b是以一維陣列為元素的一維陣列,b[i]是(第(i+1)行)就是個一維陣列,陣列名,就是個位址;

b是int **(指向指標的指標);p是int *型指標,兩個根本不匹配;

11樓:匿名使用者

集合p:滿足m^2-4〉0和x1+x2=-m〈0,解得m〉2 集合q:滿足[4(m-2)]^2-16〈0得1〈m〈3 p,q不能同時為真,當p真時,得m〉=3 當q真時,得1〈m〈=2 綜上:

1〈m〈=2或m〉=3

12樓:匿名使用者

你好樓主!

首先,你要知道*q[4]中的q是乙個陣列的指標,也就是說q是指向乙個陣列,並且這個陣列中有4個元素的。

我們看一下b[4][6],這是乙個二維陣列,其實我們可以把他拆分一下,也就是b是乙個含有4個元素的陣列,而這個陣列中的4個元素都是乙個陣列,後面的這4個陣列中都有6個元素,這樣***。

好,我們再把這個b[4][6]變一下,我們可以寫成這個樣子:(*b[4])[6],我再來對這個解釋一下,b是乙個指標的陣列(看清楚了,當成陣列),乙個含有4個元素的陣列;並且這個陣列中的元素都是陣列的指標(看清楚了,是指標,指向陣列的指標),也是指向陣列的,這裡的陣列中的元素就之是乙個普通的元素了。

既然p只是乙個普通的指標(它可以指向乙個陣列,即可當成是陣列的指標),而b卻是乙個指標的陣列(注意是指標的陣列,而不是陣列的指標,故是乙個陣列),所以它肯定會出錯了。

好了,做這些解釋,認真看看,對你學習指標會有幫助。

若有定義語句 int a則下列語句正確的是

答案是bai c 解決這類題型du 首先要分清型別。zhi a錯,雖然 p 的型別是 dao int a 的型別是 int 但是陣列專名代表的屬位址也不能改變。b錯,因為 p 0 的型別是 int a 的型別是 int c對,p 0 的型別是 int a 1 2 的型別也是 int d錯,p 1 的...

若有定義int a 21,2,3,4p 3 1則 p 1 表示的陣列元素是

arr n 等價於 arr n 因為p 0 a 1 所以 p 0 1 相當於 a 1 1 等價於a 1 1 把a 1 看成是上式的arr即可 若有以下定義和語句則 p 的值是 3 這個答案為什麼不是2 p a 2 p指向了a的下標為2的元素,c語言的陣列下標是從0開始的,下標為2指的是第三個元素,2...

設有定義語句「int a 4123則a的值為多少?a的值為多少?能有詳細解題步驟嗎

這是乙個二 來維陣列,a 3 4 列舉出源來就是 a 0 0 a 0 1 a 0 2 a 0 3 a 1 0 a 1 1 a 1 2 a 1 3 a 2 0 a 2 1 a 2 2 a 2 3 a 0 代表第一行,a 1 代表第二行.a 1 1 代表第二行第二列的值,a 2 1 代表第三行第二列的值...