执行以下程序段后, s的值是【1】int a[]={5,3,7,2,1,5,3,10},s=0,k; for(k=0;k<8;k+=2) s+=*(a+k);

请帮我看看这个,解释一下最后一个式子,和运算过程
2025-02-03 06:00:26
推荐回答(2个)
回答1:

*(a+k)就是取数组a的第k个元素,
s = a[0] + a[2] + a[4] + a[6] = 5 + 7 + 1 + 3 = 16

回答2:

int a[]={5,3,7,2,1,5,3,10},s=0,k;
for(k=0;k<8;k+=2) s+=*(a+k);//s将a[0],a[2],a[4],a[6]相加和赋予s
printf("%d",s);//s=16