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 直接編寫一...