else后面的语句不加{}运行的话,输入2000,会输出11。但是加上{}就不会。
#include
int main ()
{
int years,leapyear;
scanf("%d",&years);
if(years%4 == 0 && years%100 != 0 || years%400 == 0)
{
leapyear = 1;
printf("%d",leapyear);
}
else
leapyear=0;
printf("%d",leapyear);
return 0;
}
不加括号,else只能执行一句。多个表达式要在else里必须加括号,不加括号只能算一个表达式在else里。
所以不加括号,后面的printf也会输出呀。
输出两次leapyear,即11。
有帮助的话采纳一下哦!
Else后边不加括号,默认else只执行第一句呀,因为if满足,所以不会赋值给0,也就是继续执行下边打印语句了
Else
aa;
bb;
意思就是else{aa;}bb;
打印11就是打印了两次1