#include<stdio.h>
main()
{
int i=1;
while(i<=100)
i=i+1;
i++;
}
printf("和为%d\n",i);
这个为什么不是输出1到100的和?而是 101??
因为你始终是在对i进行操作,当i=101的时候跳出while循环,所以输出i肯定是101咯;修改如下:
int i=1,s=0;
s+=i;
printf("和为%d\n",s);
必须要再定义一个变量吗?
为啥不可以累加到100?
回复 嘿嘿大人:
回复 匿名课官:必须再定义一个,因为你while循环的条件是i<=100,你把所有的都叠加到了i上,当i加到了101的时候就会跳出循环根本就不会往下面执行了
回复 匿名课官:
给你举个例子;
当i=99的时候,按照你的语句执行
i=i+1也就是i=99+1=100
然后i++,i=101;
然后返回到while(i<=100),这是i=101,明显是不成立的,所以跳出循环执行printf("和为%d\n",i);输出了i的值也就是101
点赞
扫一扫分享朋友圈
二维码
分享
你确定要删除这个问题吗?