設有inta 2,b 1,p a則執行語句p 3 a a b後,變數a的值為

2021-04-18 03:49:48 字數 1726 閱讀 7544

1樓:匿名使用者

int a=2,b=1,*p=&a;

*p=3;//因為指標指向a,所以此時相當於a=3a=a+b;//a=3+1

所以a=4

2樓:

4。最後a的值是4。

已知:int a[]={1,2,3,4}, y, *p=a;則執行語句y = (*++p)--;之後, 陣列a各元素的值變為?

3樓:匿名使用者

已知int a=, y, *p=a;則執行來語句y = (*++p)--;之後自, 陣列a各元素的值變為1,1,3,4 。

標準函式int(x)其基本功能是得到一個不大於x的最大整數,如int(3.59)=3,int(-2.01)=-3。

int函式是一個用途很廣的函式,在教學中能有目的的分列其使用技巧。

c語言沒有規定各種整數型別的表示範圍,也就是說,沒有規定各種整數的二進位制編碼長度,對於int和long。

4樓:

b正確,選b。++p使p指向了2,*++p就是a[1],(*++p)--就是a[1]--。變數y的值是2,y=a[1]--;是把a[1]的值賦給y後才對a[1]作減一運算。

5樓:匿名使用者

執行過程是p++,然後y=*p;然後(*p)--。

即p的指標位增加一,然後賦值,最後指標對應值減一,即y=a[1],然後a[1]=a[1]-1;

綜上答案是b、b

6樓:匿名使用者

先++p,p指向a[1],

再*p,=2;

賦給y,y=2;

最後*p=2,--後,*p=1

所以是b b

設有定義int a=3,b,*p=&a;執行p=a後b裡的值為3,為什麼?p不是指標變數嗎執行p=a後裝的不是a裡的值嗎?

c語言 定義則執行y=(*--p)++後,y的值是

7樓:

這好解釋啊,因為++是後++,要等到把(*--p)的值賦給y後(*--p)的值才會增1。所以結果是y=1,a[0]=2。你可以用下面的**驗證:

int main(void),y,*p=&a[1];

y=(*--p)++;

printf("%d %d\n",y,a[0]);

return 0;}

若有定義語句:int a[2][3],*p[3]; ,則以下語句中正確的是

8樓:匿名使用者

應該選c。

p是一個指標數

組,它有四個元素,每個都是一個指向int型的指標。

a是一個二維陣列,它的每個元素都是int型的。

a的錯誤是因為p是常量(陣列名都是指標常量),不可以被賦值。而且p和a的型別也不一致。

bcd都是對p的元素賦值,這是可以的,等號右邊應當是一個int型資料的指標(即地址)。c選項中a[1][2]是a的一個元素,是一個int型值,&取了它的地址,所以是正確的。

9樓:匿名使用者

int* p[3]是定義了一個大小為3的陣列指標,也就是定義了三個int型的指標。

p代表指標陣列的首地址,相當一個二維指標。

p[0],p[1],p[2]代表一個int型指標c是對的

設有inta1b2c3d4m2n2執行

這是邏輯運算,n的值為2 m a b 是賦值表示式,若a大於b則m得真,否則m得假回。答 a 1,b 2,a b 為假,故 m 假。賦值表示式 m a b 為假。m 0。在邏輯與 運算中,如果第一個運算元為假,則結果是假,後面的運算元不參與運算,本題中因為第一個運算元 m a b 為假,所以第二個運...

71設有定義inta2,b3,c4則以下選項中

嗯,對於這種問題可以用真假來判斷,當數值不為0時都一律為真,只有是內0才是假 a a容c為假,所以 真 假 為假,後來 假 真 為真,不是0b 真 假 為假,是0 c 真 真 為真,不是0 d 真 真 為真,c a為真,真 真 為真,不是0 選擇b 貌似都不為0 哦,你確定題目沒寫錯嗎 設有定義 i...

若已定義inta3,b2,c1則語句a

答案bai d在表示式中,運算步驟為 du如果你zhi不清楚,請看看運dao算符的優先順序 專1.a 則a 4 2.b 則b 3 3.c 則c 2 4.則為真 5.屬 則為直 表示式最後為真。在運算中,b只遞增了一次,所以執行後b的值為3,選d b邏輯運算又別稱 短路運算 對於p1 p2 如果表示式...