回 帖 发 新 帖 刷新版面

主题:C++中do{...}while();求指点!

int main()
{
    int a=0,b=10;
    do{
        while((a++)<10);
        while((b--)>0);
        cout<<"a="<<a<<"b="<<b<<endl;
    }while(a<b);
    return 0;
}

请问上面代码的运行结果是什么?为什么会是那样的输出结果呢?

回复列表 (共5个回复)

沙发

a=11b=-1啊
有什么奇怪的
进入do循环
while((a++)<10);  //完了a=11
while((b--)>0);  // 完了b=-1
然后不满足a<b
就退出循环了

板凳


我也是菜鸟噢,那b=10,b--,b不是应该等于9吗?

3 楼


噢!我明白了!谢谢

4 楼

一楼回答的正解!
while((a++)<10);
while((b--)>0);
这两句执行的都是空语句,
只是把a 加到了 11
b 加到了 -1

5 楼


在CSDN上也见过有人问这个程序
呵呵

我来回复

您尚未登录,请登录后再回复。点此登录或注册