我的程序显示每个输出都是“闰年”。请让我知道我在哪里犯了错误?
#include<stdio.h>
#include<conio.h>
void main()
{
int a;
clrscr();
printf("\n Enter the year : ");
scanf("%d",a);
if (a%400 == 0)
printf("\n It is a leap year");
else
if (a%100 == 0)
printf("\n It is not a leap year");
else
if (a%4 == 0)
printf("\n It is a leap year");
else
printf("\n It is not a leap year");
getch();
}
答案 0 :(得分:4)
scanf()
功能要求您传递变量的地址:
scanf("%d",&a);
答案 1 :(得分:0)
请将您的scanf专线scanf("%d", a);
修改为scanf("%d",&a);
。您需要传递a的地址,而不是其值。
答案 2 :(得分:0)
你忘了“&amp;”:
scanf("%d",&a);
所以它总是将第一个返回为真,因为“a”= 0,无论你输入什么