51,3,5,7,9p a,b b p如果陣列a的位址為1000,那麼printfdp 輸出的

2021-04-18 21:59:28 字數 4041 閱讀 2707

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.平行四邊形的面...