为什么我的C代码产生错误的结果?

时间:2019-04-16 13:30:09

标签: c

运行代码并输入13岁和19岁之间的年龄时,它仍然显示“您是青少年”吗?

#include <stdio.h>

int main (){
    int age;

    printf("Enter age: \n");
    scanf("%d", &age);

    if(age<13 && age>19) {
        printf("You are not a teenager\n");
    }
    else {
        printf("You are a teenager\n");
    }

    return 0;
}

应该输出“您不是青少年”。

1 个答案:

答案 0 :(得分:7)

在您的代码中

if(age<13 && age>19)

是永远不能为TRUE的条件。编号不能同时小于13 大于19。

您需要的是

if(age >= 13 && age <= 19) 
{
    //teenager
}
else
   // not teenager