51,3,5,7,9則表示式pa1的值是怎麼算的

2021-03-03 20:49:32 字數 1909 閱讀 8136

1樓:聽不清啊

樓主的表達不清楚(不知道p是什麼型別的變數)。應該是:

已知int a[5]=,*p=a+1;

在此定義下,p的值就是&a[1]

已知int a[5]={1,3,5,7,9},*p=a;,則表示式*p+3的值是______.怎麼算的??

2樓:匿名使用者

表示式*p+3的值是4

*p是指向陣列a的指標,*p=a就是把p指向陣列a的首地址,也就是a[0]的地址。

所以*p的值就是a[0]的值,也就是1,所以*p+3的值就是1+3=4了。

不清楚的話請追問我。

o(∩_∩)o 望採納 哦 ~

3樓:葷三詩義斯

inta=,

*p=a;

//將首個元素地址賦給p

此時*p=1

while(*p!=3)

所以結果為7的表示式是:

*(p+2)

等價於*(p+4)

4樓:匿名使用者

當指標p被初始化時,其被賦值陣列a的首地址,即a[0]的地址

*p+3後便指向了a[3],

設有定義int a[]={1,3,5,7,9},*p=a; while(*p!=3) p++; 結果為7的表示式是: *(p+2)能否詳細解釋下

5樓:匿名使用者

int a=,*p=a; //定義一個陣列a,共五個元素;同時定義一個指標p指向陣列a的首地址

p -> a[0]=1 即p是a[0]的地址p+1 -> a[1]=3 p+1是a[1]的地址,下同p+2 -> a[2]=5

p+3 -> a[3]=7

p+4 -> a[4]=9

while(*p!=3) p++; //*p是取地址中的內容(資料),當*p不是3時,p++完成向後移動一個資料

當*p==3時,p當前值為 原p+1 ,即指向a[1]此時的p +1指向a[2]=5

所以,此時的p +2指向a[3]=7

即:*(p+2)==7

6樓:lzh劉振華

int a=,*p=a; //p為指標,p指向int型陣列a的首地址即 &a[0]

while(*p!=3) // *p 是p所指向的陣列的元素 ,當*p 的值是3時退出while迴圈

p++; // p指向陣列a的下一個元素。

當while迴圈結束時 p 指向 a[1]的地址,*p == a[1];

p+2 指向 a[1]下一個元素a[2]的下一個元素a[3],即p+2是指向a[3]的指標,所以*(p+2) 的值是7

7樓:匿名使用者

int a=,

*p=a; // 將首個元素地址賦給p 此時*p=1

while(*p!=3)

所以 結果為7的表示式是: *(p+2) 等價於 *(p+4)

8樓:孝感

初始時p指向a陣列的開始.

經過while(*p!=3) p++;

時p指向了3

所以p+2就是指向7這個位值.

已知:int a[5]={1,2,3,4,5}, *p=a+2; 則*p的值是

9樓:kh華夏英雄

因為*p=a+2,也就是說把集合a中的元素全部加上2就是*p中的元素

所以*p=,

10樓:匿名使用者

指標p指向陣列a[2]的位置,所以*p的值為3;

11樓:匿名使用者

*p=,

intx1,y3,z則表示式zxyxyxy的值為多少

int x 1,y 3,z 則表示式 z x y?x y x y 等同於z a?b c,如果a為真,則等於b,不為真則等於c 因為,x y 1 3 為假,所以z x y 1 3 4 答案是 4 x y的邏輯值為假,則取冒號後面的值,所以把x y的值賦值給z,而x y等於4,所以z的值為4。int x...

設x y z和k都是int型變數,則執行表示式 x y 4,z 16,k 32 後,x的值為

c。x 32 右邊是一個表示式,逗號運算,從左到右計算每個量,整個表示式的值為最後一個式子 k 32 的值32,將32賦值給x。所以x的值為32。或 從左向右依次求解表示式1 表示式2.整個逗號表示式的值是最後一個表示式的值。比如,a 1 3,2 8,6 10,5 2 的結果是 a 7。賦值表示式的...

c語言題目如果inta3b4則條件表示式a

int a 3,b 4 x a dao 表示式專1 表示式2 表示式3 中,如果表屬達式1成立,結果選擇表示式2,不成立,選擇表示式3.因為3 4成立,所以,選表達2的結果 即,答案是 a的值 3 先判斷式 a b 是否成立 現在 a 3,b 4,所以判斷式 a b 的值應該是 a,也就是 3。但題...