|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 我爱橙 于 2022-2-25 10:25 编辑
- #include <stdio.h>
- int main()
- {
- int i=1,sum=0;
- while(i<10)
- sum=sum+1;i++;
- printf("i=%d,sum=%d",i,sum);
-
- return 0;
- }
复制代码
循环进行需要有五个要素:1.循环变量的初值;2.循环变量的终值;3.循环增量;4.循环条件;5.循环体;
这里就拿你的程序来说,循环变量是i
要素1(初值是1),就是你 的初始化 i=1;
要素2(终值是10),就是你 while判断 出循环的i的值(i=10的时候,while循环结束)
要素3(这个自己定,一般都是循环变量的自加或自减),你写的 i++。但是注意,你这里写的不对,要素5的时候一起看。
要素4 (就是你进行循环的条件), 这个是需要你自行构造的,有些循环我们就是需要永远进行的那叫
死循环(一般用while(1),这里“1”的意思就是非零的句子,表达式都可以。即判断为真)
你这里的是i<10为循环条件,换句话说就是当 i>=10的时候循环结束
要素5 (即如何循环,循环里面我们要进行什么程序),养成良好的习惯就是用{}括起来,然后循环体就是{}括起的全部内容
如果没有{},那么就只有while()这个语句的下一句为循环体,也就是你这个情况,循环体是sum=sum+1,循环里面只做这个。
结合上面的分析,可以看出你的循环体里面这个循环变量 i 没有变化,也就是一直是1。你写的i++是需要循环结束了才能进行,
但是你结束循环的条件是i>=10,所以这就是死循环了。主要问题就是你的循环体。循环体:
- {
- sum=sum+1;//每次加1
- i++;//循环变量的自增,给循环结束提供可能
- printf("i=%d,sum=%d",i,sum);//查看每一次循环的i和sum的值
- }
复制代码
|
|