C语言 运行程序,不管输入什么,都是“Invalid year!”

用if else语句,他为什么只运行了else语句,不运行if语句。
题目:

img

我的程序:


```c

#include<stdio.h>
int main()
{
int yearnow,year,count;
    scanf("%d,&yearnow");
    count=0;
    if (yearnow>=2001&&yearnow<=2100){
    
    for(year=2001;year<=yearnow;year++){
        if((year%4==0&&year%100!=0)||year%400==0){
            count++;
            printf("%d\n",year);
            }
    }
if(count==0){
    printf("None");
}
    }
    
    else 
    printf("Invalid year!");
    return 0;
}

修改后如下:
其中变量都没有赋初值,scanf引号位置错误
有帮助望采纳~


#include <stdio.h>
int main()
{
    int yearnow, year = 0, count = 0;
    scanf("%d",&yearnow);
    count = 0;
    if (yearnow >= 2001 &&yearnow <= 2100)
    {
        for (year = 2001; year <= yearnow;
             year++)
        {
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
            {
                count++;
                printf("%d\n", year);
            }
        }
        if (count == 0)
        {
            printf("None");
        }
    }
    else
        printf("Invalid year!");
    return 0;
}
scanf("%d,&yearnow");改成
scanf("%d",&yearnow);

scanf 不是这么用的,如果你想输入数 scanf("%d", &yearnow); 就可以

注意if else那里的花括号哦