我编写了一个程序来测试人的年龄,如果年龄在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;
}
答案 0 :(得分:4)
您错过了该行中的&
:
scanf(" %d",age);