一个if语句的程序,帮忙找错
这是小弟编的一个查看是否为闰年的程序,为了练习一下if语句,但是好像出问题了,貌似无论输入什么年份,都是执行下面的else语句,比如输入1992,就显示为非闰年,请各位高手帮忙找错。
#include <stdio.h>
void main()
{
int a;
printf("输入一个年份: ");
a=getchar();
if((a%4==0&&a%100!=0)||(a%400==0))
printf("该年份为闰年\n");
else
printf("该年份非闰年\n");
}
[解决办法]
getchar()是获取一个字符
[解决办法]
getchar()函数是一个处理字符的函数;
你对a的定义是一个整数,
你如果想输入一个整数可以用下面的语句
scanf("%d",&a);
这样应该就可以了
[解决办法]
#include <stdio.h>void main(){int a;printf("输入一个年份: ");scanf("%d", &a);if((a%4==0&&a%100!=0)||(a%400==0))printf("该年份为闰年\n");else printf("该年份非闰年\n");}
[解决办法]
scanf("%d", &a);//输入int类型
[解决办法]
这和if没有关系吧
getcar()他是一个一个的读取
比如:2002回车 他读取的就是“2”,“0”,“0”,“2”,“/o" 他是当字符读取的不是数字