fgets() 没有得到输入
fgets() is not getting input
fgets() 正在跳过并且不接受输入。我该如何解决?我试过使用 scanf(),但 scanf() 正在接受第一个 space 的输入。我想接受以下输入:Steve Jobs
#include<stdio.h>
int main()
{
// ints
int age;
printf("Enter your age: ");
scanf("%d", &age);
printf("You are %d \n", age);
// chars
char grade;
printf("Enter your grade: ");
scanf(" %c", &grade);
printf("You got an %c on the test \n", grade);
// doubles
double gpa;
printf("Enter your gpa: ");
scanf("%lf", &gpa);
printf("Your gpa is %lf \n", gpa);
// strings
char name[20];
printf("Enter your name:");
fgets( name, 20, stdin); // this line is not working
printf("Hello %s! \n", name);
return 0;
}
这个:
scanf("%lf", &gpa);
在标准输入
中留下一个换行符\n
这个:
fgets(名称, 20, 标准输入);
消耗换行后停止输入\n
您可能想了解字符集,类似于:
scanf( "%19[^\n]", name );
或者在调用 fgets()
之前简单地调用:getchar()
fgets() 正在跳过并且不接受输入。我该如何解决?我试过使用 scanf(),但 scanf() 正在接受第一个 space 的输入。我想接受以下输入:Steve Jobs
#include<stdio.h>
int main()
{
// ints
int age;
printf("Enter your age: ");
scanf("%d", &age);
printf("You are %d \n", age);
// chars
char grade;
printf("Enter your grade: ");
scanf(" %c", &grade);
printf("You got an %c on the test \n", grade);
// doubles
double gpa;
printf("Enter your gpa: ");
scanf("%lf", &gpa);
printf("Your gpa is %lf \n", gpa);
// strings
char name[20];
printf("Enter your name:");
fgets( name, 20, stdin); // this line is not working
printf("Hello %s! \n", name);
return 0;
}
这个:
scanf("%lf", &gpa);
在标准输入
中留下一个换行符\n
这个:
fgets(名称, 20, 标准输入);
消耗换行后停止输入\n
您可能想了解字符集,类似于:
scanf( "%19[^\n]", name );
或者在调用 fgets()
getchar()