1樓:司馬刀劍
表示式*p+3的值是4
*p是指向陣列a的指標,*p=a就是把p指向陣列a的首位址,也就是a[0]的位址。
所以*p的值就是a[0]的值,也就是1,所以*p+3的值就是1+3=4了。
有一下語句:int a[5]={1,3,5,7,9},*p=a,如果陣列a的
2樓:gta小雞
表示式p++的值就是p的當前值,也就是a的位址1000。
因此輸出結果為1000。
3樓:古幡比奈子
等於0. 如果乙個陣列填寫了初始值又沒填滿, 那麼剩下的就用0填充; 如果沒寫初始值那麼就保留記憶體原有值不清零
inta[3][4]應該看作(inta[3])[4], 可以看作是乙個包含了4個(長度3的陣列)的陣列
4樓:聽不清啊
如果陣列a的位址為1000,那麼printf("%d",p++);輸出結果是1000
5樓:匿名使用者
1000
這個應該沒毛病
若有以下定義和語句: int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 則不能表示a陣列元素的表示式是( ) a) *p b)
6樓:墨汁諾
不能表示a陣列元素的表示式是( b) a[10] )----因為陣列a的最大下標只能是9,即a[9],
a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],一共10個元素。
a、*p ---表示取p指標指向的單元的值,即表示取陣列a的首個元素a[0]的值。
b、a[10] ---因為陣列a一共10個元素,從0開始計數,
即a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],正好10個,沒有a[10],所以a[10]就是不能表達這個陣列元素。
c、*a ----陣列名a中儲存的是陣列的首位址,*是取單元中的值,*a就是取陣列首位址中單元中a[0]的值。
d、a[p-a] --- p指向的是陣列a,因為p中與a同資料相同都是陣列a的首位址,而p-a就等於0,因此 a[p-a]就相當於a[0]。
7樓:匿名使用者
選b)a[10] a[0]、a[1]、a[2]……a[9]分別是陣列a[10]的十個元素,故a[10]不能表示a陣列的元素。
8樓:匿名使用者
選 b a[10]
陣列是從a[0] 到 a[9] 的。。。。。。
若有以下定義和語句則++(*p)的值是__6__.
9樓:覺悟壯志
p是a[2]的位址
但是*p是a[2]的值,是5
那麼++(*p)
是自加那麼就是6
10樓:匿名使用者
樓上回答很好。
int a[5]=,*p;
等價於int a[5]=;
int *p;
即p是乙個指向整型的指標就好理解了
11樓:汗晚竹紅鸞
a因為p+=2
是p=0+2
,指的是陣列中的第二個元素。而*(p++)是p+1
,*(p++)表示第三個元素的值。故選a。
若有以下說明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則對陣列元素位址的正確表示是( )?
12樓:匿名使用者
編譯時 a &(a+1) 有問題, & 其實 是取位址操作6 30 c:\untitled1.c [error] lvalue required as unary '&' operand
b.a++ 也有問題
7 28 c:\untitled1.c [error] lvalue required as increment operand
c.&p 這個是表示 指標變數 p 的位址此題正確答案 是 d a+1,其實 是 陣列元素 a[1] 的位址,a[0] 的位址就是 a+0 就是 a
13樓:匿名使用者
陣列元素2的位址,可以用 a+1 表示。
應選d。
20懸賞!!**等!若有以下定義:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 則值為3的是( ) 20
14樓:匿名使用者
*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
15樓:匿名使用者
應該是a,*(p++)和*p++是一樣的,都是先算p++【為p】然後算* 符【為*p=3】最後p自加
這是* 和++的右結合性。
若有以下定義:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 則值為3的是( )a、p+=2;*(p++);b、p+=2;*++p; 5
16樓:紫臨
p++的結果是a[3],也就du是4;但是p++本身的zhi值是a[2],即為3.
換句dao話說,p++後,p的值會加
版1,但是你在程權序裡加一句n=p++,就可以看到n的值還是p。
a的意思應該是p++本身的值。
補充一點,如果是++p的話,值就是a[3]了。不管是p++還是++p,結果都會自增1,但是它本身的值要看加號在前還是在後。
c語言……….若有定義語句:int a[4]={1,3,5,7},*p;p=a;則*(p+1)的值
17樓:棟玉蓉弓琴
*(p+1)=3
樓主追問
char
s[10]
=;則strlen(s)的值為
strlen是計算字
dao符串長度,遇到
回'\0'結束返回長度,所
答以是1
struct
numn
=;struct
num*pn=&n
;則表示式pn->b/n.a
*++pn->b的值是
pn結構體指標指向結構體n,n被初始化成
pn->b/n.a
*++pn->b
<=>pn->b
=pn->b+1;
pn->b/n.a*(pn->b
+1)=3/1*2=6
結構體的->運算子優先順序大於++
++這裡是前加,先加1後再使用加後的值
若有以下定義,「int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a」,則值為6的表示式是
18樓:匿名使用者
c指標p指向a的首位址,就是存放a[0]的位址,值為6的陣列名是a[5],所以a,b首先排除
之後p是指標變數存的是位址,所以為了獲取值,應選c
19樓:一往無前的劉少
這個考的是c語言裡指標部分的知識,答案 a 。 b表示元素a[6],即7;c是乙個表示式;d表示a[5]的位址,不是元素。
20樓:幽葉牧凡
c,因為*p指向a[0]=1,那麼*p+=5就是1+5
C如果功能函式引數是陣列,陣列長度怎麼處理好
你可以傳引數,也可以用特殊的陣列元素標誌。比如你的陣列是char txt 10 最後以0結束,就可以在函式裡用這個結束標誌判斷,沒有的話就傳個長度進去。sizeof arr sizeof int 可以確定陣列長度 把陣列長度也傳進去,因為陣列名在傳給函式時會弱化為指標!提示你,就是說你如果在函式內用...
求一維陣列a中素數的個數。例如 如果陣列a的元數為 2,3,5,7,8,9,10,11,12,13 則結果為 6(在()中填空
你的程式中有點小錯.我給你改了如下注釋地方 另外我再定義了個變數,來標記是否為素數的 int m flag for i 0 i 10 i found if 1 m flag 若m flag為真則表示為素數 found printf prime number s is are d 2 count 將計...
已知624數,如果再配數組成比例所配數中,最大
最大是 36 24 6 36 9 最小是 9 4 6 24 9 4 小學1至6年級全部數學進率 公式 概念 20 小學數學定義定理公式全集 1.三角形的面積 底 高 2 公式 s a h 2 2.正方 形的面積 邊長 邊長 公式 s a a3.長方形的面積 長 寬 公式 s a b4.平行四邊形的面...