为了账号安全,请及时绑定邮箱和手机立即绑定

热心的同学们帮我看看这代码哪儿错了,老师提示错误

#include <stdio.h>

int main() 

{

    int year = 2014; //今年是2014年

    //补全一下代码

  if((year % 4 == 0 &&year%100 !== 0)||year %100 == 0)

  {

    printf("%s\n","今年是闰年");

    }

    else

    {

    printf("%s\n","今年是平年");

    }

    return 0;

}



/249/5199/D689/hello.c: In function 'main':
/249/5199/D689/hello.c:6:34: error: expected expression before '=' token
  if((year % 4 == 0 &&year%100 !== 0)||year %100 == 0)  

正在回答

5 回答

if里面的第二个条件。!==这个是矛盾的。 ||后面的条件应该是400。 不是一百。

0 回复 有任何疑惑可以回复我~
#1

Yucii 提问者

帮帮哒,我居然犯了两个错误
2017-01-18 回复 有任何疑惑可以回复我~

你这样算如果是4000年他就不是闰年了啊,&&优先于||  ,然后你||前是假 ,    ||后是真,  ||运算只有两个都为真时才是真所以这样算就是错了啊 

0 回复 有任何疑惑可以回复我~
#1

shitty_guy_

但是4000年也是闰年, 闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。
2017-01-15 回复 有任何疑惑可以回复我~
#2

shitty_guy_ 回复 shitty_guy_

if(year%4==0||year%100!=0)&&(year%100==0||year%400==0)应该是这样吧
2017-01-15 回复 有任何疑惑可以回复我~
#3

qq_萌到深处自然呆_2

回复 shitty_guy_:闰年一种是普通年可以被四整除(2004),一种是世纪年可以被400整除(2000),所以您写的两个括号之间应该是或,而且第二个括号里year%400==0就已经意味着他可以整除100了,所以year%100==0可以不用写,个人意见。
2017-01-17 回复 有任何疑惑可以回复我~
#4

Yucii 提问者 回复 shitty_guy_

if((year % 4 == 0 &&year%100 != 0)||year %400 == 0) 应该是这样的哦,后面一个写复杂了,关系是或 || 不是与
2017-01-18 回复 有任何疑惑可以回复我~
#5

Yucii 提问者 回复 qq_萌到深处自然呆_2

好棒的说,我想采取你的答案,可惜你不是层主
2017-01-18 回复 有任何疑惑可以回复我~
查看3条回复

year0 !== 0多了个等号

0 回复 有任何疑惑可以回复我~
#1

Yucii 提问者

嗯嗯,但是也还犯了另一个错误
2017-01-18 回复 有任何疑惑可以回复我~

||以及后面的条件删除

0 回复 有任何疑惑可以回复我~
#1

Cxiao

那个 != = 错了 应该是 !=,忽略刚才的回答
2017-01-05 回复 有任何疑惑可以回复我~

if语句画蛇添足了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

热心的同学们帮我看看这代码哪儿错了,老师提示错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信