我试图代码非常简单的代码,在这里它是:筑巢“如果”语句不工作
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int age;
char gender;
printf("How old are you? \n");
scanf("%d", &age);
printf("What is your gender? (m/f) \n");
scanf("%c", &gender);
if ((age >= 18 && gender == 'm')){
printf("You may enter this website ");
if (age <= 20)
{
printf("dude.");
}
}
if ((age >= 18 && gender == 'f')) {
printf("You may enter this website ");
if (age <= 20)
{
printf("young lady.");
}
}
else if (age < 18)
{
printf("Nothing to see here! \n");
}
return 0;
}
在上面的代码中,我试图用一个嵌套if
声明。但它不起作用,并非如我所愿。进入这个年龄后,它会打印出这个句子:你的性别是什么? (M/F)。
当第二个句子打印出来时,它终止。但我不知道为什么。 我希望用户能够输入性别,并根据输入的性别和年龄,打印出一个句子。
你能给我一个提示吗?
一个''一个声明if'块将里面做之开关语句... – t0mm13b
我投票关闭此问题作为题外话,因为类似的问题在这里回答了100000次。 OP没有显示任何调试工作 - 足以在第二次scanf和** think **之后查看变量中的内容。发布这个问题应该是最后的手段,而不是第一个 –