若有定義 int a 41,2,3,4,5,6,7,8,9,10,11,12p p a對陣列a元素的引用是正確的

2021-04-11 18:45:43 字數 2047 閱讀 9182

1樓:處搖胼手胝足

a。a陣列的長度是3,*(p[4])和**(p+4)都會造成超出地址範圍

(**p)[2]表達不正確

*(p[2]+3) 是a[2][3];

2樓:匿名使用者

int (*p)[4];表明p是行指bai針,即p指向二維陣列中的一du行。zhi

p=a;這一句表示

daop指向a[0],也就是

版指向a陣列第0行的第0個元素權

(a[0][0])的地址。

p[2]表示p指向a陣列的第二行,即指向a[2]行,也就指向a[2][0]的地址。

p[2]+3表示行指標指向a陣列的第二行(從第0行開始),(從0開始)第3個元素,也就是a[2][3],*(p[2]+3)表示第2行,第3個元素的值。

p+4表示第四行(從0行開始),因為a陣列沒有第四行,所以是錯的。

p[4]表示第四行(從0行開始),原因同上。

*p表示a陣列第0行,第0列地址,**p表示a[0][0]的值,值不會再包含元素,所以(**p)[2]是錯的。

若有如下定義語句:int a[10]={1,2,3,4,5,6,7,8,9,10}則對陣列正確引用的是?

3樓:匿名使用者

x,x,x,✔

a,缺識別符號

b,缺右括號(方),巢狀不成對引發堆疊錯誤c,a[9]的值為10,然後作為索引再次引用發生越界,因為陣列索引範圍為0-9

d,a[4]+4=5+4=9,再次引用a[9]=10(編譯通過)

c語言的問題 int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[4]; p = a;

4樓:匿名使用者

因為p[0]和p[1]分別指向4個整數

如果你是需要將p[1]指向的4個整型資料一次性賦值給p[0]指向的4個單元,那麼c語言沒有這麼簡單的賦值,只好編個程式一個一個地賦值;

如果你是需要把p[0]指向p[1],那麼你可以寫:p[0]=&p[1];

5樓:

我試了,p[0]為不可修改的左值。

只知道這個語句本身是有問題的,p[1]是依賴p[0]的。p[0]怎麼可能由p[1]賦值呢?

或許彙編的角度更有說服力。期待正解!

若有定義int a[3][4]={1,2,3,4,5,6,7,8,9};,則a[1][3]=

6樓:

int a[3][4]=;,相當於int a[3][4]=,,};

因此,a[1][3]=8, a[2][3]=0;

若有定義int a[3][4]={1,2,3,4,5,6,7,8,9}; 則a[1][3]=8;

7樓:韜光養晦的小生

你這是定義一個3行4列的陣列啊。陣列下標從0開始算,a[1]就是第二列。a[1][3]就是第二列第4個數字啊。不就是8嗎

c語言的題 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};若陣列a首地址為500,則a[1]+3的值為什麼? 20

8樓:江公主玖押

答案a.

陣列復定義是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10

a. p += 2使p指向

a[2], *(p++)表示先製取*p的值, 然後

p增加1(指向a[3]), 所以取得的值是a[2]=3

b. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然後取*p的值,所以是a[3]=4

c. p += 3使p指向a[3], *p++表示先取*p的值, 然後p增加1(指向a[4]), 所以取得的值是a[3]=4

d. p += 2使p指向a[2], ++*p對*p的值增加1, 所以取得的值是a[2]=a[2]+1=4

還有一種寫法是(*p)++, 表示先取*p的值, 這個值再增加1

若有以下定義 int a1,2,3,4,5,

p 的結果是a 3 也就du是4 但是p 本身的zhi值是a 2 即為3.換句dao話說,p 後,p的值會加 版1,但是你在程權序里加一句n p 就可以看到n的值還是p。a的意思應該是p 本身的值。補充一點,如果是 p的話,值就是a 3 了。不管是p 還是 p,結果都會自增1,但是它本身的值要看加號...

C語言若有定義語句 int a 41,3,5,7p p a則 p 1 的值

p 1 3 樓主追問 char s 10 則strlen s 的值為strlen是計算字串長度,遇到 0 結束返回長度,所以是則表示式pn b n.a pn b的值是 pn結構體指標指向結構體n,n被初始化成 pn b n.a pn b pn b pn b 1 pn b n.a pn b 1 3 1...

若有定義 float x 1 5 int a 1,b 3,c 2,則正確的switch語句是

若有定源義 float x 1.5 int a 1,b 3,c 2 則正確的switch語句bai是 duswitch a b 所以這一題選zhi擇c。switch語句的基本形式dao switch 表示式 對於swith 表示式 中的表示式,可以控制程式的執行過程,表示式的結果必須是整數 字元或列...