c语言--两个叹号连用

https://zhidao.baidu.com/question/1639291445177825820.html


感叹号是运算符,逻辑非。比如说“!真”也就是假的意思。
两个!是为了把非0值转换成1,而0值还是0。

因为C语言中,所以非0值都表示真。所以!非0值 = 0,而!0 = 1。
所以!!非0值 = 1,而!!0 = 0。
比如:i=5 !i=0 !!i=1


初识两个叹号,是在ffmpeg的代码里面。

int avcodec_is_open(AVCodecContext *s)
{
    return !!s->internal;
}

如此,便把指针是否为空以0和1的形式表示了。

向ffmpeg的大神表示膜拜。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值