下列程式段的執行結果是int a1,

2021-03-17 02:14:11 字數 1859 閱讀 6829

1樓:匿名使用者

for迴圈裡有n++,s+=p[n++],這裡也有n++,相當於一次迴圈n=n+2,所以,s的值為1+3+5=9

下面程式段的執行結果是( )。 int a[]={1,2,3,4,5,6},*p=a; int i,sum=0; for(i=1;i<6;i++) sum+=*(p++);

2樓:匿名使用者

*(p++)是先取值,再將指標++,其他應該沒難度吧

c語言 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,則值為3的是

3樓:馮老師(必果學院

這bai是乙個指

針求du值的問題,答案zhi應該是a

答案分析如dao下:

首專先,所有的逗號屬運算子,是從左向右進行的,其值為右邊結果計算的值

a p+=2,*(p++) 先計算p+=2 再計算*p 最後計算p++ 表示式的值在第二步計算確定的 為p[2] = a[2] = 3。表示式計算完畢之後,p指向4

b p+=2,*++p 先計算p+=2,再計算++p 最後計算*p 表示式的值在最後一步確定 為4

c p+=3,*p++ 先計算p+=3,再計算*p 最後計算++ 表示式的值在第二步確定為4,而後a[3]的值變為5

d p+=2,++*p先計算p+=2,再計算*p 最後計算++ 表示式的值在最後一步確定,為4,而後a[2]的值變為4

4樓:匿名使用者

答案a.

陣列定義是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10

a. p += 2使p指向a[2], *(p++)表示先取*p的值, 然後p增加版1(指向a[3]), 所以取權得的值是a[2]=3

b. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然後取*p的值,所以是a[3]=4

c. p += 3使p指向a[3], *p++表示先取*p的值, 然後p增加1(指向a[4]), 所以取得的值是a[3]=4

d. p += 2使p指向a[2], ++*p對*p的值增加1, 所以取得的值是a[2]=a[2]+1=4

還有一種寫法是(*p)++, 表示先取*p的值, 這個值再增加1

9-11有以下程式 #include main() {int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=null;

5樓:匿名使用者

d a 13715 d d d b a d a b c b a

下面程式的執行結果是( )。 main( ) { int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b;

6樓:匿名使用者

p是b的首位址,為int型,也就是第乙個元素,p++表示下乙個int型資料, 所以p+2 表示第三個元素即3 ,選擇c,

注意,這個跟資料型別有關,如果p為int,b為char, 一般的 int是16位,char是8位,即2倍關係,那麼這個時候p+(a)就相當於b+(2a)了,a是步長。

7樓:匿名使用者

q是指標,初始q指向陣列首位,q+2表示,從初始位置向後移動兩個元素,所有就指向了第三個,即3.所以選c

8樓:樂行樂

c.3int *q=b; b是b[0]的位址,所以q些時也指向b[0]

*(q+2) ); q[0+2]等於q[2]等於b[2];

下面程式段的執行結果是int a1,2,3,4,5,6p a int i,sum 0 for i 1 i6 isump

p 是先取值,再將指標 其他應該沒難度吧 下列程式段的執行結果是 int a 1,2,3,4,5,6,7 p a 為什麼是9 for迴圈裡有n s p n 這裡也有n 相當於一次迴圈n n 2,所以,s的值為1 3 5 9 14.下面程式段的執行結果是 int a 3 1,2,3,4,5,6 c 兩...

c程式執行結果是

第一次錯誤是死迴圈和除數為0.while i x i y 迴圈裡面i沒有變化.第二次錯誤是除數為0.int i 0,j 1 if x i 0 y j 0 這裡i是0.無法進行 運算.同時你的演算法也有問題 以下 請參考 include void main while a num1 num2 0 利用...

下面程式段的執行結果是ifn0while

答案 4 首先你要明白n 的含義,即n在當前語句中依然以n的初值進行計算,執行完這個語內句後n才等於n 1 舉個例容子 n 0 a 1 n 最後a 1 n 1 明白這個後下面就分三步分析你的問題 1.當n 2時,首先會執行n 但這條語句還沒結束,所以n的值在這條語句中還是2,所以2 2滿足條件,繼續...