<分区>
这是一个新手问题。我是 C 编程的新手。我有以下代码,它不会提示输入“姓名”一旦输入“年龄”,它就会绕过“姓名”部分。
#include <stdio.h>
int main()
{
char name[30],ch;
int age;
printf("Enter age : ");
scanf("%d", &age);
int i=0;
printf("Enter name: ");
while((ch = getchar())!='\n')
{
name[i]=ch;
i++;
}
name[i]='\0';
printf("Name: %s\n",name);
printf("Age : %d\n", age);
return 0;
}
阅读第一个提示后,它会绕过使用 getchar() 函数的第二个提示。但是,如果我更改提示顺序,先询问“姓名”,然后再询问“年龄”,它就可以正常工作。
工作代码。
#include <stdio.h>
int main()
{
char name[30],ch;
int age;
int i=0;
printf("Enter name: ");
while((ch = getchar())!='\n')
{
name[i]=ch;
i++;
}
name[i]='\0';
printf("Enter age : ");
scanf("%d", &age);
printf("Name: %s\n",name);
printf("Age : %d\n", age);
return 0;
}
我的编码 IDE 是 CodeBlock,我的编译器是 GNU C Compiler (mingw32-gcc.exe)
请帮我突破。