In the code below:
#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("*****************
");
printf("%s is a %d years old %s
",name,age,gen);
return 0;
}
When I run it like this:
Your name:tom
Your age:20
Your gender:male
*****************
tom is a 20 years old (null)
As you can see, gen is a null value, Why scanf
fails reading into gen but the first two readings success?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…