C++ 为什么是";如果;不在循环中执行?

C++ 为什么是";如果;不在循环中执行?,c++,C++,coutnum%除数与divisior=0的除数为零,这通常会导致中止 您应该为其提供另一个初始值(可能1或2看起来不错,取决于用途) 此外,正如@KfirVentura指出的,您应该更新循环中的除数(或num),否则如果除数,循环将无限运行,“if”循环将不会在除数为0时运行,并且对于所有条件,都将给出运行时异常错误,这是显而易见的。尝试更改除数的值。尝试输入-1,然后cout int main(){ int num, suma=0, divisor=0; cout&

cout
num%除数
divisior=0
的除数为零,这通常会导致中止

您应该为其提供另一个初始值(可能
1
2
看起来不错,取决于用途)


此外,正如@KfirVentura指出的,您应该更新循环中的
除数
(或
num
),否则如果
除数,循环将无限运行,“if”循环将不会在除数为0时运行,并且对于所有条件,都将给出运行时异常错误,这是显而易见的。尝试更改除数的值。

尝试输入
-1
,然后
cout
int main(){
    int num, suma=0, divisor=0;
    
    cout<<"Escribe un número"<<endl;
    cin>>num;
    cout<<num<<": ";
    while(divisor<num){
        if(num % divisor==0){
            cout<<divisor;
        }
    }
    
    cout<<"Fin";