注册 登录
编程论坛 C++教室

萌新请教,这需要怎么该才不是死循环

llc小白 发布于 2020-07-03 23:05, 2537 次点击
#include <iostream>
using namespace std;

int main()
{
   int a;
   cin>>a;
   while ( a<=10 )
   if (a<5)
   {
       cout << " hello good "<<endl;
   }
   else
   {
       cout <<"hello baibai"<<endl;
   }
   (a=a+1);
    return 0;
}
5 回复
#2
rjsp2020-07-03 23:52
没有排版的代码 遇到bug时,先排版

程序代码:
#include <iostream>
using namespace std;

int main()
{
   int a;
   cin>>a;

   while ( a<=10 )
      if (a<5)
      {
          cout << " hello good "<<endl;
      }
      else
      {
          cout <<"hello baibai"<<endl;
      }

   (a=a+1);
    return 0;
}
#3
fulltimelink2020-07-04 07:26
if (a++<5)
#4
雪影辰风2020-07-04 08:58
程序代码:
#include <iostream>
using namespace std;

int main()
{
   int a;
   cin>>a;
   while ( a<=10 )
   if (a<5)
   {
       cout << " hello good "<<endl;
   }
   else
   {
       cout <<"hello baibai"<<endl;
   }
   (a=a+1);
    return 0;
}

注意一下标红的代码,a=a+1是自增操作,但是你没放在while下的if-else里面,当然不会增加了。自然你的a也就一直不变,只要满足a<5就一直做

[此贴子已经被作者于2020-7-4 08:59编辑过]

#5
lin51616782020-07-06 11:40
大括号都加上
写代码的时候 先把大括号写了再插入代码
程序代码:
if()
{
}
while()
{
}
for(;;)
{
}

等等
然后再插入功能
就不会出现你这种遗漏
#6
牧人马2020-07-07 01:04
通俗的讲,while,for没有加大括号的时候,默认下一行作为循环的内容,也就是循环if和else包含的内容,而你的a=a+1没有在if-else中,所以也就不会改变a的值,成为死循环了
1