我正在编写一个执行int division的简单程序并显示余数。我试图让程序连续运行,直到用户输入0 0.程序在用户输入0 0之后停止,但不是在它说“#34;浮点异常"每一次。这是代码:
#include <stdio.h>
int main(){
int x;
int y;
while (1){
if (x && y == 0)
break;
else
scanf ("%i %i", &x , &y);
printf("%i %i / %i\n" , x / y , x % y, y);
}
return 0;
}
答案 0 :(得分:1)
您的订单不正确。您按此顺序执行此操作:
x == 0 && y == 0
)在计算输出之前,您不会检查是否完整,因此计算首先失败。
答案 1 :(得分:0)
if (x && y == 0)
并不能按照您的想法行事。你可能意味着if (x == 0 && y == 0)
。
此外,您不应该对任何未初始化的值进行操作。在任何表达式中使用这些变量之前给它们适当的值,或者至少确保在应用这些变量之前进行用户输入。
答案 2 :(得分:0)
在尝试操作之前,您需要检查0:
#include <stdio.h>
int main(){
int x;
int y;
while (1){
scanf ("%i %i", &x , &y);
if (x == 0 && y == 0)
break;
printf("%i %i / %i\n" , x / y , x % y, y);
}
return 0;
}