| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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的值
 
 - }
 
  复制代码 
 
 
 |   
 
 
 
 |