gpt4 book ai didi

c - if 语句在 C 中不起作用

转载 作者:行者123 更新时间:2023-11-30 19:55:27 25 4
gpt4 key购买 nike

我正在创建一个程序来测量日期之间耗时。我编写了几个 if 语句来返回错误消息并结束程序。

例如

    if (monthOne == 2 && dayOne > 28) {
printf("Invalid date.\n")
return 0; }

我还有几个月的 if 语句,这些语句具有类似的值设置,具有类似的执行条件。

    if ( monthOne == 4 || 6 || 9 || 11 && dayOne > 30)

但是我总是收到返回无效日期消息并且程序结束。我做错了什么吗?

最佳答案

您应该将第二个 if 更改为:

if ((monthOne == 4 || monthOne == 6 || monthOne == 9 || monthOne == 11) && dayOne > 30)

评估monthOne == 4 || 6 始终为真,因为 6 与 0 不同,并且其余表达式被“短路”(未求值)。您还需要使用一组额外的括号,因为与 || 相比,&& 具有更高的优先级。

关于c - if 语句在 C 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com