用if else语句,他为什么只运行了else语句,不运行if语句。
题目:
我的程序:
```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那里的花括号哦