scanf() 请求输入两次
scanf() asking for input twice
我尝试去掉空格和换行符,但无济于事,它仍然要求输入两次。
#include <stdio.h>
#include <math.h>
int main() {
double a = 0;
double b = 0;
double c = 0;
//controls wether a is a number
int controllo1 = 1;
while (controllo1 = 1) {
printf("insert x^2");
scanf("%lf", &a);
getchar();
if (scanf("%lf", &a)) {
getchar();
printf("input is a number\n");
controllo1 = 0;
break;
}
else
printf("input is not a number\n");
}
}
问题是程序中有两个scanf函数,要求输入两次是可以理解的。删除第 12 行中的那个将解决问题。
我尝试去掉空格和换行符,但无济于事,它仍然要求输入两次。
#include <stdio.h>
#include <math.h>
int main() {
double a = 0;
double b = 0;
double c = 0;
//controls wether a is a number
int controllo1 = 1;
while (controllo1 = 1) {
printf("insert x^2");
scanf("%lf", &a);
getchar();
if (scanf("%lf", &a)) {
getchar();
printf("input is a number\n");
controllo1 = 0;
break;
}
else
printf("input is not a number\n");
}
}
问题是程序中有两个scanf函数,要求输入两次是可以理解的。删除第 12 行中的那个将解决问题。