大家帮我看看这段代码有什么错误
# include <stdio.h>
main()
{
int n,t;
scanf("%d",&n);
t=((n%4==0)&&(n%100!=0)||(n%400==0));
if (t=1)
printf("该年份是闰年\n");
else
printf("该年份bu是闰年\n");
return 0;
}
[解决办法]
if(t==1)或者if(t)
[解决办法]
# include <stdio.h>main() { int n, t; scanf("%d", &n); t = ((n % 4 == 0) && (n % 100 != 0) || (n % 400 == 0)); if (t == 1) /*这个地方是==*/ printf("该年份是闰年\n"); else printf("该年份bu是闰年\n"); return 0;}
[解决办法]
if (t=1)改成if (t==1)
这是新手常犯的错误。你原本想比较t的值和1是否相等,缺却变成了赋值。且编译器不会报错。
下次如果你要比较一个变量的值时可以这样if (1=t)这样编译器就会报错了。因为一个常量是不可以被赋值的。