双重for循环嵌套--c语言

文章详细分析了嵌套循环中变量j的自增如何影响外层循环变量i和内层循环变量j的累加,指出sum的计算实际上是基于i和j的乘积。通过示例代码展示了不同情况下的sum值变化。
摘要由CSDN通过智能技术生成

内层循环中的变量 j 确实通过 j++ 进行自增操作。然而,在内层循环中,虽然 j 是根据 j++ 自增的,但实际上在每次内层循环中, sum 的累加操作都是基于外层循环的变量 i 和内层循环的变量 j。因此,在最后一次内层循环中,i 的值为 1,j 的值也为 1,导致 sum 的计算结果是 i*j = 1*1 = 1

具体来说,外层循环的迭代次数是3次,内层循环的逻辑如下:

  • 当 i 为 3 时,内层循环会执行 3 次,分别是 sum += 3*1; sum += 3*2; sum += 3*3;,最终 sum 的值为 18;
  • 当 i 为 2 时,内层循环会执行 2 次,分别是 sum += 2*1; sum += 2*2;,最终 sum 的值为 6;
  • 当 i 为 1 时,内层循环会执行 1 次,即 sum += 1*1;,最终 sum 的值为 1。

因此,最终输出的结果是最后一次内层循环中 sum 的值为 1。

#include<stdio.h>
int main(){
	int i,j,sum;
	for(i=3;i>=1;i--)
	{
		sum=0;
		for(j=1;j<=i;j++)
		sum+=i*j;
	}
	printf("%d\n",sum);
}

输出结果:

当去掉外层循环的sum=0;时代码如下

#include<stdio.h>
int main(){
	int i,j,sum;
	for(i=3;i>=1;i--)
	{

		for(j=1;j<=i;j++)
		sum+=i*j;
	}
	printf("%d\n",sum);

输出结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值