首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C 中这个运算符是什么意思

C 中这个运算符是什么意思

作者头像
ClearSeve
发布于 2022-02-10 19:11:52
发布于 2022-02-10 19:11:52
1.4K0
举报
文章被收录于专栏:ClearSeveClearSeve

问题

我之前看到一段 C 代码,

代码语言:javascript
复制
!ErrorHasOccured() ??!??! HandleError();

编译完全正确,但是??!??!是什么意思?我 Google 了一圈也没找到。

回答

??!是一个 三字符组,编译器会自动翻译成|,也就是说,上面的代码等同于,

代码语言:javascript
复制
!ErrorHasOccured() || HandleError();

为什么会有这种转换呢?早在 1960 年代的时候,那时候的打字机上面还没有那么多的字符(EBCDIC),像这四个字符就没有,

代码语言:javascript
复制
{ | } ~ 

但是生活中又要用,所以他们就想到了这个办法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月24日,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 问题
  • 回答
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档