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语言中双感叹号的作用相关推荐
- php语言中双引号的作用是什么,php中的单引号与双引号作用详解
一.引号定义字符串 在Php中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in double q ...
- C语言中双感叹号(!!)的含义
C语言中的感叹号(!)是逻辑运算操作符.经过该操作符运算后的值只有 2 种情况,要么为 1,即 True,要么为 0,即 False. 在进行逻辑运算时,所有非 0 的值都会被认为是 True,而只有 ...
- C语言中双下划线__的作用
C语言中双下划线__的作用 以单下划线(_)表明是标准库的变量 双下划线(__) 开头表明是编译器的变量 所以 双下划线__只是C语言的一个合法标识符 不一定是变量, 也可以是函数,宏等. 同时双下划 ...
- C++中双感叹号!!的含义
C语言中偶尔会遇到 !!(cond),特别是在宏定义当中: 单!用法 一个感叹号!我们知道是取非,如下: !(非零)=0 !(零)=1 双!用法 两个感叹号由此推导可以知道: !!(非零)=1 !!( ...
- Python中双冒号的作用[::]
Python中双冒号的作用[::] Python sequence slice addresses can be written as a[start:end:step] and any of sta ...
- Swift语言中的感叹号是什么意思?
本文翻译自:What does an exclamation mark mean in the Swift language? The Swift Programming Language guide ...
- C++中双冒号::的作用浅析
转载自:https://www.jb51.net/article/142032.htm C++中双冒号::的作用浅析 更新时间:2018年06月14日 11:59:12 作者:yz930618 在 ...
- js中双感叹号_JavaScript中双叹号(!!)作用
经常看到这样的例子: vara:var b=!!a; a默认是undefined.!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断 ...
- javascript中双感叹号(!!)作用
作为一个前端,在开发过程中经常会遇到!!(双感叹号),那么!!究竟有何含义,以下做详细说明,并罗列了js各数据类型使用后(不含symbol)输出结果(小白可以参照): javascript中'!'是& ...
最新文章
- 在Python中获取文件大小? [重复]
- 【读书笔记】程序员的自我修养总结(七)
- 计算机教育的需求,我国教育信息化市场需求分析
- IntelliJ IDEA 选中变量名,高亮显示其它地方的这个变量名,高亮颜色如何设置呢?
- java中四类八中_JAVA中的八中基本数据类型
- 消息中间件的技术选型心得-RabbitMQ ActiveMQ和ZeroMQ
- WinForm应用程序框架设计之WinAction(一:显示列表窗体)
- 《JavaScript高级程序设计》红宝书第二遍阅读(动手实践)
- 在安装project2010 64位时提示 “无法安装64位office,因为已有32位版本”解决方法
- 报文分析4、TCP协议的头结构
- java doctitle_Java ActionItem.setDocTitle方法代码示例
- 配置静态路由/下一跳知识
- 一个技术总监迟到的新年开篇
- 国内主流集群渲染管理软件介绍
- 大学里青年教师待遇真的很低吗?
- Java学习中遇到的中文乱码问题的整理和解决方法
- IAR 设置TAB代码格式问题
- 用技术支点撬开“掘金池”,多多云能否成为中国版VMWare?
- matlab 改变像素颜色,MATLAB图像处理_直接操作像素点进行颜色变换
- R语言学习笔记3_探索性/描述性数据分析