C语言中双感叹号的作用

Posted 正在起飞的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中双感叹号的作用相关的知识,希望对你有一定的参考价值。

1、C语言中双感叹号的作用

(1)感叹号的作用:感叹号是逻辑运算符,表示逻辑非,也就是把真变成假,把假变成真;
(2)在C语言中,0值表示假,非0值都是真,所以感叹号会把非0值变成0,而把0值变成1;
(3)双感叹号的作用就是把非0值变成1,0还是0

2、内核中双感叹号使用实例

//这是input子系统中按键相关的代码
//value表示按键的值
static inline void input_report_key(struct input_dev *dev, unsigned int code, int value)

	input_event(dev, EV_KEY, code, !!value);

(1)按键只有两个状态:按下和弹起,这符合布尔变量,我们可以用0和1来表示;
(2)但是在函数中value是int型,value可以传递进来任意的整数,但是我们希望实际传递下去的是0和1,所以就对value变量使用双引号;

以上是关于C语言中双感叹号的作用的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何输入双引号

C语言中的感叹号是怎么用的

C语言 if用法

c语言中双精度浮点数(即double类型数据)的取值范围

C++中双冒号(两个冒号)::的作用

c语言中啥是单精度型和双精度型???各举个例子。。。