给年份year定义一个宏,以判别该年份是否闰年

网上有一个类似的问题,它的原程序如下:#include<stdio.h>#defineLEAP_YEAR(y)(y)%400==0||(y)%4==0&&(y)%100=... 网上有一个类似的问题,它的原程序如下:
#include<stdio.h>
#define LEAP_YEAR(y)(y)%400==0||(y)%4==0&&(y)%100=0
void main()
{
int year;
scanf("%d",&year);
if(year>=1000 && year<=9999)
{
if(LEAP_YEAR(year))
{
printf("%d is a leap year!\n", year);
}
else
{
printf("%d is not a leap year!\n", year);
}
}
else
{
printf("Input error!\n");
}
}
为什么编译的时候会出现error C2106: '=' : left operand must be l-value,应该怎么改,在线等
展开
 我来答
千岛j玉叶
推荐于2017-11-24 · TA获得超过854个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:131万
展开全部
宏定义错了:
#define LEAP_YEAR(y) (y)%4==0&&(y)%100!=0||(y)%400==0 //这应该是不等于0,而且条件是这样的
闰年是能被4整除且不能被100整除或者能被400整除
newgreennet111
2012-09-06
知道答主
回答量:32
采纳率:0%
帮助的人:13.6万
展开全部
#include<stdio.h>
#define LEAP_YEAR(y) (y)%400==0||((y)%4==0&&(y)%100!=0)
main()
{int a;
printf("pleas input the year:");
scanf("%d",&a);
printf("%d\n",a);
if (LEAP_YEAR(a)==1)
printf("%d is leap year\n",a);
else
printf("%d is not leap year\n",a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mia☆jiancha☆ce6608
2012-01-07 · TA获得超过1526个赞
知道小有建树答主
回答量:713
采纳率:100%
帮助的人:495万
展开全部
(y)%100=0这儿的问题,应该是==0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式