c - IF 语句无法正常工作/无法指定输出

标签 c

我正在尝试使用 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);
    
  • 然后它将被添加到打印语句的末尾,如上所示。

    • 有人知道为什么它不能正常工作吗?

最佳答案

  1. 去掉 if 末尾的分号。
  2. 您使用的是单个 =,即赋值。您需要使用两个 (==) 来测试相等性。
  3. 虽然单个语句 if 不需要,但您可能需要包含大括号。

更正后的代码如下所示:

if (MonthlyDuration == 13) {
    Year += 1;
}
if (MonthlyDuration != 13) {
    Year += 0;
}

关于c - IF 语句无法正常工作/无法指定输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053499/

相关文章:

c - C 中指针比较如何工作?可以比较不指向同一数组的指针吗?

c++ - 以突发模式读取cuda数据

c - free( ) 时堆损坏

c - 如何将 void* 取消引用为 void* 数组

c - 内存比较导致系统停机

c++ - 了解无符号数的行为

c - 如何调试产生意外输出的 C 程序?

c - 寻找不使用 if 语句的等效函数

c - 从环境 C 中的给定变量中删除值

c - 当参数相等时 while 循环不会停止