gpt4 book ai didi

c - 为什么 C 有逻辑和按位 ‘or’ 运算符?

转载 作者:行者123 更新时间:2023-12-04 22:26:42 25 4
gpt4 key购买 nike

为什么 C 有 ||| 运算符?据我所知,| 运算符可以在条件中替换 ||,因为当至少一个操作数非零时,它将返回真(非零)值。

我只是出于好奇而问。我知道我应该将 || 用于逻辑表达式。

例子

#include <stdio.h>

int main(void) {
int to_compare = 5;

/* Try with bitwise or */
if ((5 > to_compare) | (to_compare == 6)) {
printf("‘to_compare’ is less than or equal to 5 or equal to 6.\n");
}

/* Try with logical or */
if ((5 > to_compare) || (to_compare == 6)) {
printf("‘to_compare’ is less than or equal to 5 or equal to 6.\n");
}

return 0;
}

最佳答案

||| 是非常不同的野兽。

除了 || 具有短路特性(仅当左操作数计算为 0 时才计算右操作数),它也是一个排序点。

表达式的值也可以不同:例如 1 || 211 | 23

(注意 &&& 有一个更有害的区别,例如 1 && 211 & 20 。)

关于c - 为什么 C 有逻辑和按位 ‘or’ 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59326504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com