我正在尝试使用 if
声明。
- 我正在做一个时间计数器,用于计算一年中的月份数 - 因此,如果其“11 个月”,年份将为 0。因此 37 个月将是“3 年”“1 个月”。
- 一旦“MonthlyDuration”达到 13,就会出现“1 Year”“1 Month”。
因此,每 13 个月,年份计数器就会添加 1,月份计数器也会重置。
if (MonthlyDuration = 13); Year += 1; if (MonthlyDuration != 13); Year += 0; printf("\n\r %4.d", Year, MonthlyDuration);
然后它将被添加到打印语句的末尾,如上所示。
- 有人知道为什么它不能正常工作吗?
最佳答案
- 去掉
if
末尾的分号。 - 您使用的是单个
=
,即赋值。您需要使用两个 (==
) 来测试相等性。 - 虽然单个语句
if
不需要,但您可能需要包含大括号。
更正后的代码如下所示:
if (MonthlyDuration == 13) {
Year += 1;
}
if (MonthlyDuration != 13) {
Year += 0;
}
关于c - IF 语句无法正常工作/无法指定输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053499/