[英]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
语句,而不是比较leap
和true
使用==
要指定leap
到true
使用=
。
因此,您的最终if语句实际上应该是:
if (leap == true)
{
leapd++;
}
最后一个循环看起来像
if (leap == true)
{
leapd++;
}
您目前拥有它将设置的方式leap
到True
再评估if
。 这将永远是True
。 条件检查应为==
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.