c - 如何编写一个 if 语句而不是三个

标签 c

我需要在代码中使用一个 if 语句而不是使用 3 个,有人知道我应该如何做到这一点吗? 我的代码:

#include < stdio.h >

  int main() {
    int year;

    printf("Enter a year: ");
    scanf("%d", & year);

    if (year % 4 == 0) {
      if (year % 100 == 0) {
        if (year % 400 == 0)
          printf("%d is a leap year.", year);
        else
          printf("%d is not a leap year.", year);
      } else
        printf("%d is a leap year.", year);
    } else
      printf("%d is not a leap year.", year);

    return 0;
  }

最佳答案

是的,我们可以使用一个 if 语句来做到这一点。

if((year%4==0 && year%100!=0) || year%400==0)
{
printf("%d is a leap year.", year);
}
else
{
 printf("%d is not a leap year.", year);
}

关于c - 如何编写一个 if 语句而不是三个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52270703/

相关文章:

c - scanf 在 C 中导致无限循环

c++ - C++ 异常和 setjmp/longjmp 的代价

c - C 中的 (round)(myFloat) 是什么语法?

复制到另一个数组时出现困惑的值

android - 为什么IDE显示: parameter type mismatch: array is not assignable

c - 如何在多个c文件中共享一个结构体变量

c++ - 为什么相同标识符的大小在 C 和 C++ 中不同?

c - 为什么这个 uint16_t 变量声明不起作用?

c - 分配给枚举的无效值会导致内存损坏吗?

c - 使用 C 传递/使用终端参数