关于C中判断润年代码
#include<stdio.h>intmain(){intyear,leap=0;printf("pleaseinputyear\n");scanf("%d",&yea...
#include<stdio.h>
int main()
{
int year,leap=0;
printf("please input year\n");
scanf("%d",&year);
if(year%4==0)
if(year%100==0)
{if(year%400==0) leap=1;}
else leap=1;
if(leap) printf("%d is ",year);
else printf("%d is not ",year);
printf("leap year\n");
return 0;
}
这个是源程序,我不懂为什么year%400那排还要加个花括号,如果不加花括号会怎么样?本人刚刚入门C,请解答的详细点,谢谢! 展开
int main()
{
int year,leap=0;
printf("please input year\n");
scanf("%d",&year);
if(year%4==0)
if(year%100==0)
{if(year%400==0) leap=1;}
else leap=1;
if(leap) printf("%d is ",year);
else printf("%d is not ",year);
printf("leap year\n");
return 0;
}
这个是源程序,我不懂为什么year%400那排还要加个花括号,如果不加花括号会怎么样?本人刚刚入门C,请解答的详细点,谢谢! 展开
2个回答
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
因为这是一种嵌套关系和c语言中的规定所致,此处必须加花括号。
C语言中规定,如果出现if嵌套,又没有指明哪一个if与else是一对,则else往前寻找最近的一个成为一对。
如果把花括号去掉,那么else就与{if(year%400==0) leap=1;}中的if组合成了一对,显然就不能得到正确的结果。
如同题目中一样,给后面一个if加上花括号,{if(year%400==0) leap=1;},就说明了这个if语句已经完成了,后面再也不会有else了。那个else就与前面一个if(year%100==0)中的if组合成一对,就得到正确的结果了。
C语言中规定,如果出现if嵌套,又没有指明哪一个if与else是一对,则else往前寻找最近的一个成为一对。
如果把花括号去掉,那么else就与{if(year%400==0) leap=1;}中的if组合成了一对,显然就不能得到正确的结果。
如同题目中一样,给后面一个if加上花括号,{if(year%400==0) leap=1;},就说明了这个if语句已经完成了,后面再也不会有else了。那个else就与前面一个if(year%100==0)中的if组合成一对,就得到正确的结果了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询