这道题你能帮我分析下吗?谢谢
/*Note:YourchoiceisCIDE*/#include"stdio.h"voidmain(){intarr[10],i,k=0;for(i=0;i<10;i+...
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int arr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=0;i<4;i++)
k=k+arr[i]+i;
printf("%d,%d\n",k,i);
} 展开
#include "stdio.h"
void main()
{
int arr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=0;i<4;i++)
k=k+arr[i]+i;
printf("%d,%d\n",k,i);
} 展开
1个回答
展开全部
这道题不难啊,你都看到数组了啊,少年,挺快啊,下面就是指针了。看我一点一点给你分析啊。把思路全写下边。这种题型你别看上就害怕了。拿纸写写,每一个变量全等于多少,看看就出来结果了。先定义一个数组,数组里一共十个元素,从元素0到9。还有两个变量i和k。第一个循环语句,将数组中的元素设值。元素0对应0,元素1对应1,一直到元素9,你懂得。下一个循环。从i等于0开始,小于4时候进行循环,说明等于4的时候就跳出循环,所以最后i值为4。下面算K的值。当i等于0时,K=0+0+0=0,当i等于1时,K=0+1+1=2,当i等于2时,K=2+2+2=6,当i等于3时,K=6+3+3=12,当i等于4时,跳出循环。所以K=12。看看我算错没~~以后这样的题你就会做了。这次我义务辅导你勒。呵呵~
更多追问追答
追问
我的理解是 第一个外循环语句 for(i=0;i<10;i++) arr[i]=i; 当i=1 i+1; 当i=2 i+1
一直加到i=9; 然后赐给arr[i]=i; 内循环 当i=1 k=0+9+1; 当i=2 k=0+9+2; 当 i=3 k=0+9+3;
i=4 不循环 K=12 i=4
数组前面的我都学过了``` 谢谢你的分析 你觉得我的分析错了吗?
追答
我不是太理解你的意思,估计不对。你所表达的意思是这两个FOR语句是外循环里边跟一个内循环,你要是这么认为那就不对勒。第一个for循环后面一条语句之后跟的是一个分号,这条命令结束了,第二个也是。肯定是两个循环,之间就没什么联系了,不是循环的嵌套懂么。应该按我的那个逻辑来分析。还有i++是先给值,后本身加1,你要明白这一点。一步一步的执行。这回理解么~
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询