执行以下程序段后,a的值是

来源:百度知道 编辑:UC知道 时间:2024/07/07 08:16:24
25.执行以下程序段后,a的值是
int a []={5,3,7,2,1,5,4,10};
int a =0,k;
for(k=0;k<8;k+=2)
a+=*(a+k);

int a []={5,3,7,2,1,5,4,10};
int a =0,k;
for(k=0;k<8;k+=2)
a+=*(a+k);
改为:
int b[]={5,3,7,2,1,5,4,10};
int a=0,k;
for(k=0;k<8;k+=2)
a+=*(b+k);
数组名跟变量名不要同名,得到的结果是:a=0+5+7+1+4=17。(注意c语言中对于数组元素的引用其实是转换为指针的,故b[4]即相当于*(b+4)了)。

结果为17

for(k=0;k<8;k+=2)
a+=*(a+k);

这个循环是指的取a数组中下标为0,2,4,6的成员值累加,
得到的结果为5+7+1+4=17

不过,应该将数组a和变量a的名字定义成不同的,否则编译会报错