C语言for循环和二维数组

main()
{int a[5]={1,2,3,4,5},i,j;
for(i=0;i<5;i++)
for(j=i;i<5;j++)
a[j]=a[i]+1;
for(i=1;i<5;i++)
printf("%5d",a[i]);
printf("\n")
}
请问这是怎么循环的: for(i=0;i<5;i++)
for(j=i;i<5;j++)
a[j]=a[i]+1;

后面的for(j=i;i<5;j++),j=i,什么意思? 和该成for(j=0;i<5;j++)有什么区别?请写清步骤,谢谢。。。
那么 a[j]=a[i]+1;得出的值,是否,改变 a[5]={1,2,3,4,5}中的元素?

for(j=i;i<5;j++)应该是j<5吧?

for(i=0;i<5;i++) 是外循环
for(j=i;j<5;j++) 是内循环,j=i意思就是j的初始值随i而变化,如果for(j=0;j<5;j++)的话j初始值就固定是0了

先i=0;
然后for(j=i;j<5;j++)循环,即:
j=0,...
j=1,...
j=2,...
j=3,...
j=4,...
内循环结束

然后i=1;
然后又是for(j=i;j<5;j++)循环,这次j初始值是1了,即:
j=1,...
j=2,...
j=3,...
j=4,...
内循环结束

然后i=2;
然后又是for(j=i;j<5;j++)循环,这次j初始值是2了,即:
j=2,...
j=3,...
j=4,...
内循环结束

然后......
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜