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(){inti,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[... 麻烦解题思路谢谢啊
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);
}
展开
 我来答
xiaomaque_o
推荐于2018-02-13 · TA获得超过585个赞
知道小有建树答主
回答量:350
采纳率:100%
帮助的人:80万
展开全部
这是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的值已经发生变化。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式