小编Lug*_*ker的帖子

C++ 为什么在 if 为真之后运行 else if

using namespace std;
int main(){
    int userinp=-1,dig1=0,dig2=0,dig3=0,dig4=0;
    while(userinp!=0) {
        cin>>userinp;
        if (userinp=0) userinp=0;
        else if(userinp<0||userinp>9999) cout<<"Wrong input";
        else if (userinp<10) { dig1++; userinp =-1;}
        else if (userinp<100) {dig2++; userinp =-1;}
        else if (userinp<1000) {dig3++; userinp =-1;}
        else {dig4++; userinp =-1;}
    }
    cout<<dig1<<endl<<dig2<<endl<<dig3<<endl<<dig4;
    return 0;
    }
Run Code Online (Sandbox Code Playgroud)

我正在尝试教科书上的一个练习,但它陷入无限循环,因为它else if userinp<10在我输入 0 时运行。为什么?如果我在 if 退出后删除部分。

c++ if-statement

1
推荐指数
1
解决办法
69
查看次数

标签 统计

c++ ×1

if-statement ×1