社区
C语言
帖子详情
C语言中, if语句当中,直接用变量作判断条件,什么意思?
WinLogo811
2009-01-17 10:28:20
C语言中, if语句当中,直接用变量作判断条件,什么意思?
if(!iflg)
{
......
}
其中的判断条件“!iflg”,什么意思?“!”代表什么意思?
...全文
3834
37
打赏
收藏
C语言中, if语句当中,直接用变量作判断条件,什么意思?
C语言中, if语句当中,直接用变量作判断条件,什么意思? if(!iflg) { ...... } 其中的判断条件“!iflg”,什么意思?“!”代表什么意思?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
37 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kay_bryant
2009-01-22
打赏
举报
回复
非零则真!
bxl1989
2009-01-22
打赏
举报
回复
啊,布尔值与数值.0表示假.非0表示真
anonymous_de
2009-01-22
打赏
举报
回复
看来还是简单些的问题
大家都愿意抢着回答哈~~~
大家过年好!!
思远作细
2009-01-22
打赏
举报
回复
在C中,这是一种不规范的代码编写方式。因为C中没有布尔变量。
起点
2009-01-22
打赏
举报
回复
'!'是逻辑非运算符,是个一元运算符。使ture变成false,false变成ture。
例如:有两个变量a,b。其值分别为5和2,则表达!(a>b)就是false.
16楼确实强大呵呵!
tanmeining
2009-01-22
打赏
举报
回复
为什么不看书?
qqxiaoyatou
2009-01-22
打赏
举报
回复
if后面是判断 真就继续 假就结束 16楼很强大~!!!嗯
codesnail
2009-01-21
打赏
举报
回复
为什么不自己看书,看到这种问题很郁闷。。。。
xhlancw1314
2009-01-21
打赏
举报
回复
[Quote=引用 16 楼 frankli2009 的回复:]
!是叹号,表示: 咦,这里怎么有个变量?
[/Quote]
我虽是新手
但是 这个.......
太BT了.....
yujian596
2009-01-20
打赏
举报
回复
!0即是1,!(!0)即是0。判断真假的。
willen121
2009-01-20
打赏
举报
回复
当布而型处理,转换后非0和0两中情况
na2650945
2009-01-19
打赏
举报
回复
[Quote=引用 2 楼 mosaic 的回复:]
!是取反的操作符
if(!iflg)
就是如果iflg是0,那么!iflag就是非0,就执行{}中的代码。
如果iflg是非0,那么!iflag就是0,就不会执行if下的{}中的代码。
[/Quote]
正解。
jiarusun000
2009-01-19
打赏
举报
回复
1
if(!name)
name是一个变量,然后对这个变量记性逻辑取反操作,也就是真边假,假变真。C语言中非0值是真,而0值就是假。
然后得到的就是if条件。
这里有一点要清楚的就是C语言无法根据0或者非0来直接判断,它首先根据0或者非0来转变为true or false,然后在判断。也就是如果变量是0,结果就是false,如果是非0,就是true。
int name=1;
if(!name) //name == false
{
//不执行
}else
{
//执行
}
lbh2001
2009-01-19
打赏
举报
回复
这种写法是C语言里的惯用法
这都是C语言里没有内置
布尔类型
惹得祸,习惯就行了
WinLogo811
2009-01-18
打赏
举报
回复
1
[Quote=引用 2 楼 mosaic 的回复:]
!是取反的操作符
if(!iflg)
就是如果iflg是0,那么!iflag就是非0,就执行{}中的代码。
如果iflg是非0,那么!iflag就是0,就不会执行if下的{}中的代码。
[/Quote]
if(0)
{
}
为什么不会执行if下的()中的代码?
而
if(iflg == 0)
{
}
会执行if下的{}中的代码?
sanguomi
2009-01-18
打赏
举报
回复
if(!iflg)
iflg 为0 时执行{}里边的代码,非0时不执行
linsenlinwei
2009-01-18
打赏
举报
回复
这个我知道的
shyli
2009-01-18
打赏
举报
回复
[Quote=引用 5 楼 barbara2008 的回复:]
一般的来说,对布尔型的操作用这样的方式
其他类型的不宜做此种方式处理
[/Quote]
只要是可以转换为bool类型的变量都可以这样用啊。
china_west
2009-01-18
打赏
举报
回复
肯定那个变量的值也是0与非0
nassa1985
2009-01-18
打赏
举报
回复
[Quote=引用 7 楼 breakhigh 的回复:]
引用 6 楼 WinLogo811 的回复:
引用 2 楼 mosaic 的回复:
!是取反的操作符
if(0)
{
}
为什么不会执行if下的()中的代码?
而
if(iflg == 0)
{
}
会执行if下的{}中的代码?
if是假设的意思, ()里面是假设的内容. 当()里面的内容为 0 ,即内容 为 逻辑非 中的 "假"时,则不执行if 下的{}代码.而flg == 0 ,前面还有 !,整个()中为"真",所以要执行{}内的代码 ---
[/Quote]
看清楚。。人家问的是另外一个语句。。根本么有“!”。
这里的iflg == 0 可以看成是一条语句。。。如果这个iflg是为0的,也就是说iflg == 0 这条语句是成立的。相当于。括号里面的内容是真的。。那么当然就会执行{}里面的语句。
加载更多回复(17)
C语言
70,020
社区成员
243,266
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章