#include <stdio.h>
int main() {
float change = 0.0;
printf("O hai! ");
while (change <= 0) {
printf("How much change is owed?\n");
scanf("%f\n", &change);
}
return 0;
}
如果輸入是負數,結果是無窮無盡的「欠多少變化?」while循環不執行scanf()
無法重現:如果輸入負數,我只會發生一次「欠多少變化?」,而不是無窮無盡的系列。 – Evert
它也要求正數的兩倍。更改'scanf(「%f \ n」,&change);'==>'scanf(「%f」,&change);' –
步驟1,帶有任何'scanf()'問題:測試它的返回值, scanf(「%f」,&change)!= 1)print_ErrorAndQuit()' – chux