c - 否则,如果在确定C中的If年时出错

标签 c if-statement logic

我刚刚开始介绍c编程课程-我正在尝试编写一个程序,以打印输入的开始和结束之间的所有the年。

#include <stdio.h>

int main (void) {
    int start, finish, leap;

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

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


    while (start <= finish)  {

        if ((start%400 == 0) || (start%4 == 0))
            else if (start%100 != 0)
        }

        printf("%d\n", start);
        start = start + 1



    return 0;
}


我不断收到“期望的表达式”错误,它指向else if语句的开头。分阶段工作,并且if语句可以打印出整整为400或4的年份。

我正在尝试排除现在可以被100整除的数字...关于出了什么问题的任何想法?

最佳答案

您的问题比您想象的要简单。看下面的代码:

   if ((start%400 == 0) || (start%4 == 0))
            else if (year%100 != 0)


您有一个if语句,其后没有任何语句。

   if ((start%400 == 0) || (start%4 == 0)) {}
            else if (year%100 != 0) {}


这样可以解决该错误,但是我确定您想在这些代码块中做点什么!

关于c - 否则,如果在确定C中的If年时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36202511/

相关文章:

Python if 语句没有按预期工作

r - 测试空 bool 集的相等性

从 Unix 系统创建 tr 程序的简化版本。翻译字符功能

c - 如何在没有任何附加参数的情况下获取函数中的数组大小

c -/dev/null 总是可以打开的吗?

python - 将两个列表中的单个项目添加到新列表中

ios - 对象 C : Checking against an integer in NSUserDefaults

python - 为什么我的 Monty Hall 解决方案不起作用?

javascript - javascript 中带有字符串的简单 if 条件的问题

c - 如何清空参数指向的列表而不释放分配给该列表的内存?