蛇簧联轴器的厂家排名:我对if语句不是很了解,请问去掉下面程序中的两对”{}”,程序分别是怎么样运行的?
来源:百度文库 编辑:中科新闻网 时间:2024/05/05 17:55:54
if(year%4==0)
{if(year%100==0)
{if(year%400==0)
leap=1;
else leap=0;}
else leap=1;}
else leap=0;
if(leap)printf("%d is",year);
else printf("%d is not",year);
尽量说的详细点,谢谢!
你应该这么写比较清楚:
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
leap=1;
else
leap=0;
}
else
leap=1;
}
else
leap=0;
if(leap)
printf("%d is",year);
else
printf("%d is not",year);
如果去掉大括号:
scanf("%d",&year);
if(year%4==0)
if(year%100==0)
if(year%400==0)
leap=1;
else
leap=0;
else
leap=1;
else
leap=0;
if(leap)
printf("%d is",year);
else
printf("%d is not",year);
因为你所有的 if 的内容只有一行,而且每个 if 都有对应的 else,所以结构上没有岐义,所以去掉大括号效果也相同。但是平时编程的时候最好写好,避免不必要的错误。
if(year%4==0)
{if(year%100==0)
{if(year%400==0)
去掉括号的话必须3个IF都满足才能执行下去
而且去掉后ELSE LEAP就起不到作用了~有3个ELSE会冲突
编译应该不会通过
代码不加缩进的全是垃圾.自己看不懂,别人更看不懂.
写程序要养成良好的代码编写习惯,加上适当的注释,方便自己查问题,也方便别人阅读自己的代码.
这是判断闰年的.