if ((a % 4 == 0 && a %400 != 0) || a % 400 = 0)
printf("%d是闰年", a);
else
printf("%d不是闰年", a);
为什么报错说 C2106: “=”: 左操作数必须为左值 划线部分是第一个a前面的括号
if ((a % 4 == 0 && a %400 != 0) || a % 400 == 0) # 修改两个等号==
printf("%d是闰年", a);
else
printf("%d不是闰年", a);
很明显啊,if里面第二个a%400是 == 0。写成复制了
少了个等号。应该是:if ((a % 4 == 0 && a %400 != 0) || a % 400 == 0)
你好,把a %400 =0改成a % 400 == 0,就OK
您好,您这里有两个错误。除了写法上的错误a%400=0,不能对表达式赋初值外,还有一个逻辑上的错误,闰年一般指能被4整除且不能被100整除的数或能被400整除的数,所以写法应该为if ((a % 4 == 0 && a %100 != 0) || a % 400 == 0)