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;
}
Я пытаюсь выполнить упражнение из своей школьной книги, но оно застревает в бесконечном l oop, потому что оно набирает else if userinp<10
, когда я набираю 0. Почему? Если я удалю части после того, как if выходит из времени.