-2
#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 暂停输出以查看屏幕上打印的内容

4

2 回答 2

3

while(a=0)应该while(a==0)

同样对于你的 2nd while

您将赋值运算符=与相等运算符混淆了==

于 2013-10-17T15:33:36.570 回答
0

while 语句后没有分号 ( ; )。

于 2013-11-17T14:29:54.383 回答