我写了一个程序来测试人的年龄,如果年龄超过18岁,它会进一步询问人的姓名和性别,并根据输出时打印的性别。
但当我进入这个年龄后,我会出现分段错误。
我正在使用debian,我是C语言的初学者。
#include <stdio.h>
#include <stdlib.h>
int main(){
char name[20];
int age;
char gender;
printf("How old are you ? n");
scanf(" %d",age);
if(age >= 18){
printf("What your name ? n");
scanf(" %s",&name);
printf("What's your gender ? (m/f) n");
scanf(" %c",&gender);
if(gender == 'm'){
printf("Welcome Mr. %s n",name);
}else{
printf("Welcome Ms/Mrs %s n",name);
}
}else{
printf("Nothing to see here! n");
}
return 0;
}
您在以下行中错过了&
:
scanf(" %d",age);