C语言 or的用法

发布网友 发布时间:2022-04-23 05:39

我来回答

5个回答

热心网友 时间:2023-07-01 14:57

  or代表或的意思,在C语言中有两种或操作,一种是逻辑或运算符,一种是位或运算符。逻辑或运算符用||来表示,位或运算符用|(只有一个竖杠)来表示,特别注意,位或操作,只能操作整型数据。比如:

for (int inx=0; inx!=10; ++inx) {
    //当x==1或者x==5的时候输出hello world
    if (inx==1 || inx==5) printf("hello world\n");
}

  注意逻辑或运算具备短路求值特点,如上面的例子,如果inx==1成立,则不会检测后面的inx==5了。这就是短路求值。

  位或运算比较简单一般的规则是,遇1得1。

  0 | 1 = 1

  1 | 0 = 1

  0 | 0 = 0

  1 | 1 = 1

热心网友 时间:2023-07-01 14:58

c语言中的or运算符用双竖线“||”表示而and运算符则用“&”表示,比如这里的a>b>c可表示为a>b & b>c 而a>b>c或者a>c>b可表示为a>b & b>c || a>c & c>b 运算之后再让if语句判断结果为真或为假,可这样写代码:if (a>b & b>c || a>c & c>b) d=a,除此之外,这段代码还有别的错误。比如最后的“:”号应为“;”

热心网友 时间:2023-07-01 14:58

这不是OR的问题吧,OR应该是或者的意思吧,可以||
if(a>b>c)d=a or if(a>c>b)d=a;
a>b>c C语言没这个 写法吧,你什么C编译器能支持这个?

VC里面貌似这么写还能识别

热心网友 时间:2023-07-01 14:59

a>b>c //a先和b比较返回0或者1,然后0或者1跟c比较。

热心网友 时间:2023-07-01 14:59

or在c中没有这个保留字吧
这个在汇编中有
c中用||代替吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com