若有以下的定義和語句,則值為5的表示式是 int a1,2,3,4,5,6,7,8,9,

2021-04-18 17:29:14 字數 3474 閱讀 5334

1樓:有長處有深度

a是6b是a[5]=6

c是a[4]=5

d是a[6]=7

說明語句如下:int a[10]={1,2,3,4,5,6,7,8,9},*p=a;則數值為6的表示式是( )。

2樓:匿名使用者

d。表示式「*p = a」說明p指向a[0]的位置;

那麼 *p + 6 = a[0] + 6 = 7; a錯;

p指向a[0]的位置, 則p + 6 指向a[6]的位置,那麼 *(p + 6) = a[6] = 7; b錯;

p是乙個指標,p的值本身是乙個位址,p + 5顯然不可能為5; c錯;

上面說了, p指向a[0]的位置,那麼 *p = a[0] = 1;

*p += 5; 等同於 a[0] += 5; 等同於 a[0] = a[0] + 5 = 1 + 5 = 6;

顯然只有d正確;

3樓:匿名使用者

d 一開始定義了 *p=a,就是指等於a[0];它指向的是乙個值!

*p+=5,可以變換一下 *p=(*p)+5 不就 a[0]+5=6.....

a = 7 ;

b 的值是 a[6]=7

c 是乙個位址 &a[5] 不是值!

4樓:林聲飄揚

da> *p+6=>1+6=7

b>*(p+6)=7

c>p+5 是位址

d>*p+5=>1+5=>6

所以選d

20懸賞!!**等!若有以下定義:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 則值為3的是( ) 20

5樓:匿名使用者

*p=a,陣列名表

bai示位址,該

du句話的意思就是p=&a[0],p+=2表示p=&a[2];

接下zhi來我們看看* ++的優dao先級版,兩個優先順序是一樣的,屬於右權結合。*(p++)首先計算p++,由於++在後面,所以*(p++)相當於計算*p,然後p++;所以a和c相同,至於d ++*p表示++(*p),將*p的值++。我不知道樓主用的什麼編譯器。

對於我的理解,如果是printf(「%d」,*(p++))這種樣式輸出的話,a 輸出是3,b輸出是4,c輸出的是4,d輸出是4

6樓:匿名使用者

應該是a,*(p++)和*p++是一樣的,都是先算p++【為p】然後算* 符【為*p=3】最後p自加

這是* 和++的右結合性。

5.若有如下說明: int a[10]={1,2,3,4,5,6,7,8,9,10}; char b=』a』,d,e; 則數值為4的表示式是 。

7樓:

答案是c)

分析:a) a[4] 實際上是5

b) 因為d沒有初始化, 所以a[d-b]值無法確定c) 'd'-b等於3, a[3]的值為4d) 因為e沒有初始化, 所以a[e-b]值無法確定

8樓:帶淚的紫藤花

c陣列為4也就是陣列第四個元素,而陣列索引是從0開始的,也就是索引值為3的陣列元素為4,

'd'-b等價於'd'-'a'值為3~~~所以選c

9樓:匿名使用者

選擇 c 吧

『d'-b=3,字元相減就是字元對應的ascii相減。『d'的ascii 是100,b即 』a『(char b=』a』)的ascii是97.

10樓:我要好好睡了

cb='a',

'd'-b='d'-'a'=3

a[3]=4;選c;

若有定義語句:int x[5]={0, 1, 2, 3, 4}, *p;,則以下數值不為2的表示式是?

11樓:金色潛鳥

b 的表示式是 (p=x+2, *p++),按"字尾++" 規定,在表示式內 先用原值,出了表示式再自增1。所以 b 的表示式 可以寫成: (p=x+2, *p)。

p=x+2 就是 p=&x[2],

*p 就等於 x[2], 等於 2.

c 的表示式是 (p=x+1, *(p++) ),  按字尾++規定,在表示式內 先用原值,出了表示式再自增1。所以 c 的表示式 可以寫成: (p=x+1, *(p) ),

p=x+1 就是 p=&x[1],

*(p) 就等於 x[1], 等於 1. 數值不為2的表示式 選 c

12樓:匿名使用者

p++的返回值是p原來的值,而不是增加後的值

b *p++ 返回*(x+2) x[2]=2

c *(p++) 雖然有括號先執行p++,p本身自增了,但返回值是x+1 ,*(x+1)=1

若有以下定義,「int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a」,則值為6的表示式是

13樓:匿名使用者

c指標p指向a的首位址,就是存放a[0]的位址,值為6的陣列名是a[5],所以a,b首先排除

之後p是指標變數存的是位址,所以為了獲取值,應選c

14樓:一往無前的劉少

這個考的是c語言裡指標部分的知識,答案 a 。 b表示元素a[6],即7;c是乙個表示式;d表示a[5]的位址,不是元素。

15樓:幽葉牧凡

c,因為*p指向a[0]=1,那麼*p+=5就是1+5

若有定義「int a[5]={1,2,3,4,5},*p=a;」,則以下表示式中值為3的是 a.a[3] b.&(p+2) c.*p+2 d*(a+3)

16樓:匿名使用者

c.*p+2

沒有乙個是指向a[2]的,但c的結果是1+2=3

若有定義int a [][3]={1,2,3,4,5,6,7,8,9},則表示式size of(a)/size of(a[0])的值為多少

17樓:十張樹

若有來定義int a [3]=,則表示式size of(a)/size of(a[0])的值為

對於乙個整型二維陣列,size of(a)=9 即實際內容所佔的大小;

a[0] 是指第0行的3個元素 因而size of(a[0])=3;

最後答案就是 9/3=3;

18樓:匿名使用者

對於乙個整型二維陣列,size of(a)=9 即實際內容所佔的大小

a[0] 是指第0行的3個元素 因而size of(a[0])=3

最後答案就是 9/3=3

19樓:匿名使用者

sizeof(a)=9; sizeof(a[0])=3, 故9/3=3.

若有定義語句 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 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 代表第三行第二列的值...

C語言若有語句int a 1,b 2,c 3則以下值為0的表示式是

因為a 的值為0,a 的值為1,所以c 0 因為 在後面,所有a 表示式的值沒有變,只是改變了a的值!選d,c a為真,值為1,a b 為假,值為0,是恆等於,當然0是不等於1的,所以表示式假,其值為0 答案是d 第乙個是 ascii 邏輯與 只有 a 和 b 中最少有個為 0 時才為0 直接編寫一...