if(条件表达式)

XZZJDMR 2009-10-31 11:55:50
C语言中判断输入年份是否是闰年中
#Include<stdio.h>
main()
{
int year,leap;
if(year%4==0&&year%100!=0)
leap=1;
else
.
.
.
.
if(leap)
printf("%d是闰年\n",year);
else
..........

}
那个红色部分if的条件表达式只写一个leap怎么就能表示leap成立然后输出 是闰年呢?
if 的条件表达式的默认值是不是真值哦?
...全文
536 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinguozuoyong 2009-11-01
  • 打赏
  • 举报
回复
只要if中的表达式成立,就表示为真值。非零为真,任意非零的自然数都是真,leap=1,所以if(leap)是成立的
再如:
x=0;
if(x) /* 条件表达式为假,相当于if(0)*/
{
...
}
if(x==0) /* 条件表达式为真,因为x==0这个式子是正确的,所以可以看作是if(1)*/
{
....
}
小小攻城师 2009-11-01
  • 打赏
  • 举报
回复
在C语言中 0为假 其余为真
所以你if(*)只要*不是零
那么这个条件就是成立的
soidothis 2009-11-01
  • 打赏
  • 举报
回复
只要不是0都代表真值
bomeng_21it 2009-11-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mirror1226 的回复:]
C语言中没有布尔型数据,条件判断时候用的是逻辑值,也就是True(1) Or False(0) 并且规定非零数值就为真
[/Quote]

同解
mirror1226 2009-11-01
  • 打赏
  • 举报
回复
C语言中没有布尔型数据,条件判断时候用的是逻辑值,也就是True(1) Or False(0) 并且规定非零数值就为真
XZZJDMR 2009-11-01
  • 打赏
  • 举报
回复
谢谢各位
Conch256 2009-11-01
  • 打赏
  • 举报
回复
在没有给leap初始化为0的时候,leap的默认值就是1,即真值。
cabbge 2009-11-01
  • 打赏
  • 举报
回复
基本知识很重要,学习
jackyjkchen 2009-10-31
  • 打赏
  • 举报
回复
非零真。零为假
mstlq 2009-10-31
  • 打赏
  • 举报
回复
if(leap)等价于if(leap!=0)
arong1234 2009-10-31
  • 打赏
  • 举报
回复
leap为0表示假,否则表示真

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧