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。但題...