1

我的程序为每个输出显示“这是闰年”。请让我知道我在哪里犯了错误??

#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();

}

4

3 回答 3

4

scanf()函数要求您传递变量的地址

scanf("%d",&a);
于 2012-06-14T08:28:21.517 回答
0

请将您的 scanf 行编辑scanf("%d", a);scanf("%d",&a);. 您需要传递 a 的地址,而不是其值。

于 2012-06-14T08:30:19.557 回答
0

你忘记了一个“&”:

scanf("%d",&a);

所以无论你输入什么,它总是返回第一个为真,因为 "a" is = 0

于 2012-06-14T08:31:06.100 回答