在下面的代码中:
#include <stdio.h>
int main(){
char *name;
int age;
char *gen;
printf("Your name:");
scanf("%s",name);
printf("Your age:");
scanf("%d",&age);
printf("Your gender:");
scanf("%s",gen);
printf("*****************\n");
printf("%s is a %d years old %s \n",name,age,gen);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我像这样运行它:
Your name:tom
Your age:20
Your gender:male
*****************
tom is a 20 years old (null)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,gen是一个空值,为什么scanf无法读入gen但前两个读数成功?