为何while会进入死循环

img


当我给digit输入one时,为啥while会进入死循环,而不是重新让我输入。
🙏🙏

语法错误吧不能把等号和scanf直接连接吧,可以先scanf然后再让digit等于那个数,

scanf(“%f”,&num_1);
digit=num_1;

在第18行 19行之间插入一行:getchar(); ,那段修改为:

digit = scanf("%f",&num_1);
while(digit!= 1){
        getchar();
        printf("num_1不是一个num,请输入正确的num.\n");
        digit = scanf("%f",&num_1);
}