main() {int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i

麻烦解题思路谢谢啊
main()
{int i,k,a[10],p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]=a[i*(i+1)];
for(i=0;i<3;i++) k+=p[i]*2;
printf("%d\n",k);
}

这是c语言的循环结构: 每条for 语句之后都没有{,所以不存在嵌套。执行顺序如下:
第1个for循环, 直接对数组a中的每一个元素赋值,即a[0]=0,a[1]=1,...,依次类推,a[9]=9;

第2个for循环, 直接对数组p中的每一个元素赋值,即p[0]=a[0*1]=a[0]=0,p[1]=a[1*2]=a[2]=2,p[2]=a[2*3]=a[6]=6;

第3个for循环, 是对k的值进行加运算, k+=p[i]*2等价于 k=k+p[i]*2;
当i=0时,k=k+p[0]*2=5+0*2=5;//注意k已经被赋值(k=5),初值为5。

当i=1时,k=k+p[1]*2=5+2*2=9;

当i=2时,k=k+p[2]*2=9+6*2=21;//注意k的值已经发生变化。
温馨提示:答案为网友推荐,仅供参考
相似回答