【发布时间】:2018-11-23 04:57:51
【问题描述】:
#include <stdio.h>
int main(){
float x,y;
printf("Enter 2 numbers: \n");
scanf_s("%f %f", &x, &y);
if (getchar() == '\n')
{
printf("Division: %f\n", x / y);
printf("Product: %f\n", x * y);
printf("Sum: %f\n", x + y);
printf("Difference: %f\n", x - y);
}
else
{
printf("no Float-Value!");
}
getchar();
return 0;
}
我们需要一个循环,所以如果我们输入错误的格式,程序应该再次要求输入两个数字
【问题讨论】:
-
还有什么问题?尝试执行此操作时遇到了什么问题?你尝试了什么?
-
什么是错误格式?
-
我需要在代码中添加一个循环,如果您输入错误的格式,程序会再次要求我输入 2 个值
-
要检查“格式错误”,您应该将输入作为字符串获取并解析它...使用
scanf会引起各种麻烦。寻找fgets。 -
@EnzoFerber 是正确的。您的 scanf_s 不会使用该格式字符串解析浮点数以外的任何内容。如果你想验证输入,你应该扫描更广泛的输入,然后检查它们是否确实是浮点数。
标签: c loops while-loop format