C语言双for循环

2025-05-08 19:19:46
推荐回答(3个)
回答1:

//内层的for循环中
for(j = 1;j<=i;j++)
// {
sum +=j;    //经过 for(j = 1;j<=i;j++)里的 j自加1 此时j已经=2了,则sum=2
// }
////////////////////////////////
int main(void)
{
int sum = 0;
int i = 0,j = 0;
int count;
printf("please input one number\n");
scanf("%d",&count);
for(i =1 ;i<=count;i++)
{
for(j = 1;j<=i;j++)
// {
sum +=j;    //经过 for(j = 1;j<=i;j++)里的 j自加1 此时j已经=2了
// }
printf("\n%d %d %d",i,j,sum);
}

// printf("sum = %d",sum);
return 0;
}

回答2:

for(j = 1;j<=i;j++)
     sum +=j;
//  j的值为1,i的值也为1,条件j<=i成立,指向sum+=j ; 再执行 j++; j递增1,值为2,这时条件j<=i不成立,跳出循环,所以j的值为2

回答3:

输入1时,j = 1,第二层循环执行一遍后j加了1,然后不满足条件就退出循环了。所以j=2