【问题标题】:I am a beginner here and I am facing some problems with C language [closed]我是这里的初学者,我在使用 C 语言时遇到了一些问题 [关闭]
【发布时间】:2022-08-19 13:18:46
【问题描述】:

无论我输入什么年龄,它都会打印you can drive。有人可以向我解释为什么我的代码给了我错误的答案吗?

#include <stdio.h>

int main() 
{
    int age;
    printf(\"enter your age: \\n\");
    scanf(\"%d\",&age);

    if (age<=18 && age>=92) 
    {
        printf(\"you cant drive\");
    }
    else 
    {
        printf(\"you can drive\");
    }

    return 0;
}
  • 请将代码作为文本发布,而不是文本图像。
  • 一个人的年龄怎么可能同时是&lt;= 18&gt;= 92
  • 欢迎来到堆栈溢出!您的问题中需要包含相关代码和错误消息作为文本not as pictures of text。仅链接到屏幕截图会使人们更难帮助您。要了解有关此社区的更多信息以及我们如何为您提供帮助,请从 tour 开始并阅读 How to Ask 及其链接资源。
  • 这是了解“布尔”逻辑的第一件事。如果你想要所有 18 岁以下的人,以及所有 92 岁以上的人,这是一个“或”条件,不是一个“和”条件。如果是他们的年龄小于等于18岁,或者如果他们的年龄大于或等于 92,那么您要打印该消息。 (或者无论你做什么。我看不到你的实际代码。)
  • @jarmod 92 岁的头部移植到 18 岁的身体上。可能 - 是的,也许不是现在,但很可能在不久的将来发生。

标签: c if-statement logic


【解决方案1】:
if (age<=18 && age>=92)

这条线总是错误的。因为一个整数不能同时小于 18 和大于 92。

您应该使用逻辑运算符|| 而不是&amp;&amp;

if (age<=18 || age>=92)

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多