C语言中“||”表示逻辑操作符(或),它的操作数是布尔型,即只有“0”(表示false)和“1”(表示true)两个数值。C语言规定,在逻辑运算中,所有非0的数值都被看做1处理。

在 C 语言中,“||”表示逻辑操作符(或),它的操作数是布尔型,即只有“0”(表示 false)和“1”(表示 true)两个数值。C 语言规定,在逻辑运算中,所有非 0 的数值都被看成 1 处理。

(推荐教程:C语言教程)

与之类似的操作符是“|”,它是位操作符(或),其操作数是位序列。位序列可以是字符型、整型与长短整型等(通常情况下选择无符号整型)。在位运算中,相应的位之间进行逻辑运算,因此,从逻辑上讲,位运算过程包含多个逻辑运算过程。

下面我们通过一个示例来了解两者之间的区别。

#include <stdio.h>int main (void){    unsigned int x = 0x1101;    unsigned int y = 0x1100;    /*逻辑操作*/    printf("sizeof(x || y): %d\n", sizeof(x || y));    if(x||y)    {        printf("x || y : %d(True) \n", x||y);    }    else    {        printf("x || y : %d(False) \n", x||y);    }    /*位操作*/    printf("sizeof(x | y): %d\n", sizeof(x | y));    printf("x | y : %x \n", x|y);    return 0;}

因为变量 x 与变量 y 都不为 0,所以执行语句 if(x||y) 返回 1。而当执行 x|y(即 1101|1100)时,相应的位之间逐一地进行逻辑运算(或),因此所得到的结果为 1101。

程序运行结果为:

sizeof(x || y): 4x || y : 1(True)sizeof(x | y): 4x | y : 1101

更多相关文章

  1. 逻辑运算符两侧运算对象的数据类型是什么?
  2. c语言文件读写操作有哪些?
  3. golang操作Redis&Mysql&RabbitMQ的方法介绍
  4. golang能写操作系统吗
  5. Go语言中操作MySQL数据库的方法
  6. golang mysql操作介绍
  7. go语言中一些字符串操作介绍
  8. 学习Go 语言操作 MySQL 之 预处理
  9. php操作xml

随机推荐

  1. android在java代码中绘制矩形框
  2. android 复制、粘贴字符串 (判断API 11 )
  3. Android的权限permission
  4. android 开发上传图片遇到返回 FileNotFo
  5. 11.时钟&计时器
  6. Android ListView(Selector 背景图片 全选
  7. Android碎片积累
  8. Android核心基础(五)
  9. 第12天android:短信发送+测试使用
  10. Android中NDK各版本下载