繁体   English   中英

我使用模数错误吗? 我的程序将始终输入if语句

[英]Am I using modulus wrong? My program will always enter the if statement

bool leap = false;
int leapd = 28;

if (year % 100 == 0) {
    if (year % 400 == 0) {
        leap = true;
    }
    else { leap = false; }
}

else if (year % 4 == 0) {
    leap = true;
}
else { leap = false; }
if (leap = true) {
    leapd++;
}

该程序确定输入的年份是否为a年。 我不知道为什么,但程序将始终设置leap到底真实的。

如果年份可以被100整除,那么如果年份也可以被400整除,则它是a年。

如果不能将其除以100,则可以将其除以4只是is年。

您的最后一个if语句应该为if (leap == true) 如果您解决此问题,它应该可以工作。 =是赋值变量。 因此,在您最后一次if语句,而不是比较leaptrue使用==要指定leaptrue使用=

因此,您的最终if语句实际上应该是:

if (leap == true)
{
    leapd++;
}

最后一个循环看起来像

if (leap == true)
{
    leapd++;
}

您目前拥有它将设置的方式leapTrue再评估if 这将永远是True 条件检查应为==

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM