无限循环不打印所有值

时间:2013-10-17 15:32:02

标签: c++ coding-style turbo-c++

#include<iostream.h>
#include<conio.h>

void main()
{   
    clrscr();
    int a,b;
    a=0;
    cin>>b;
    do
    {
    if (b==1)
        cout<<"case1a " ;
    else if (b==2)
        cout<<"case 1b ";
        a=a+1;
    }
    while(a=0);

    cout<<"Interval";

    do
    {
    if (b==1)
        cout<<"case 2a";
    else if (b==2)
        cout<<"case 2b";
        a=a-1;
    }
    while(a=1);

    getch();
}

上面的代码创建了一个无限循环。 预期的输出是“case1a case2a case3a case4a”无限次,但程序只打印“case1a”无限次

那么我怎样才能纠正这个并得到我想要的输出呢?

PS我使用shift + break暂停输出以查看屏幕上显示的内容

2 个答案:

答案 0 :(得分:3)

while(a=0)应为while(a==0)

同样适用于你的第二个while

您将赋值运算符=与等号运算符==混淆。

答案 1 :(得分:0)

在while语句后没有半冒号(;)。