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

为什么我的C代码产生错误的结果?,c,C,当我运行代码并输入13岁和19岁以外的年龄时,它仍然会说“你是青少年” #包括 int main(){ 智力年龄; printf(“输入年龄:\n”); scanf(“%d”和年龄); 如果(19岁){ printf(“您不是青少年”\n); } 否则{ printf(“您是一名青少年”\n); } 返回0; } 它应该在您的代码中输出“您不是青少年”。 if(age<13 && age>19) if(19岁) 这是一个永远都不可能成立的条件。任何数字都不能同时

当我运行代码并输入13岁和19岁以外的年龄时,它仍然会说“你是青少年”

#包括
int main(){
智力年龄;
printf(“输入年龄:\n”);
scanf(“%d”和年龄);
如果(19岁){
printf(“您不是青少年”\n);
}
否则{
printf(“您是一名青少年”\n);
}
返回0;
}
它应该在您的代码中输出“您不是青少年”。

if(age<13 && age>19)
if(19岁)
这是一个永远都不可能成立的条件。任何数字都不能同时小于13和大于19

你需要的是

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

if(age<13 && age>19)
if(19岁)
是一个永远不可能为真的条件。任何数字都不能同时小于13和大于19

你需要的是

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

if(age>=13&&age
if(age 19)
应该是
if(age 19)
。一个数字不能同时小于
13
和大于
19
。因此,`if(age 19)`将始终计算为
false
。养成“用英语阅读代码”的习惯。这就是说“如果年龄小于13岁,年龄大于19岁”。这在基本布尔数学中没有任何意义,一个数字怎么可能小于13但大于19。没有必要对一个初学者提出的问题投否决票,这个问题已经被清楚地问过了,显示出了尝试等(尽管标题并不完美)
如果
我不到13岁
大于65岁
那么
我将同时获得子女津贴和养老金。@Cid有一个原因,好的大学让你在被允许参加初级编程课程之前仔细研读这些枯燥的布尔代数/离散数学课程。
如果(19岁)
应该是
if(age19)
。一个数字不能同时小于
13
和大于
19
。因此,`if(age19)`的计算结果总是
false
。养成“用英语阅读代码”的习惯。这表示“如果年龄小于13岁,年龄大于19岁”“。这在基本布尔数学中没有任何意义,一个数字怎么可能小于13但大于19。对于一个初学者提出的问题,如果问题问得很清楚,尝试过,等等(尽管标题并不完美),没有必要投否决票。”
如果
我小于13岁
大于65岁
那么
我将同时获得子女津贴和养老金。@Cid有一个原因,好的大学在允许你参加初级编程课程之前让你仔细研读这些枯燥的布尔代数/离散数学课程。你不介意我厚颜无耻的编辑吗?(所以我可以问心无愧地向上投票。)就从理论物理学家那里向你保证。我还可以建议
如果(13稍微修正了语言)你不介意我厚颜无耻的编辑吗?(所以我可以问心无愧地向上投票。)就从理论物理学家那里向你保证。我还可以建议
如果(13稍微修正了语言)吗