为什么我的C代码产生错误的结果?
当我运行代码并输入13岁和19岁以外的年龄时,它仍然会说“你是青少年”为什么我的C代码产生错误的结果?,c,C,当我运行代码并输入13岁和19岁以外的年龄时,它仍然会说“你是青少年” #包括 int main(){ 智力年龄; printf(“输入年龄:\n”); scanf(“%d”和年龄); 如果(19岁){ printf(“您不是青少年”\n); } 否则{ printf(“您是一名青少年”\n); } 返回0; } 它应该在您的代码中输出“您不是青少年”。 if(age<13 && age>19) if(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&&ageif(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稍微修正了语言)吗