为什么C同时拥有||
和|
运算符?据我所知,|
运算符可以在条件下替换||
,因为当至少一个操作数为非零时它将返回true(非零)值。
我出于好奇而问。我知道我应该对逻辑表达式使用||
。
示例
#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;
}