C 库 - <iso646_h.h>
C 库头文件 <iso646_h.htm> 允许使用替代运算符,例如 and、xor、not 等,这些运算符返回特定的值。例如,在布尔表达式中使用"and"代替 && 可以提高代码的可读性。
从头文件 iso646.h 派生出了 11 个宏 -
| Macro | Token |
|---|---|
| and | && |
| and_eq | &= |
| bitand | & |
| bitor | | |
| compl | |
| not | ! |
| not_eq | != |
| or | || |
| or_eq | |= |
| xor | ^ |
| xor_eq | ^= |
示例
以下是 C 库头文件 <iso646_h.htm>,用于查看使用替代("and")运算符的两个数字的演示。
#include <stdio.h>
#include <iso646.h>
int main() {
int a = 5;
int b = 3;
// 使用替代的"与"运算符
int sum = a and b;
printf("Sum of %d and %d = %d", a, b, sum);
return 0;
}
输出
上述代码产生以下结果 -
Sum of 5 and 3 = 1
示例
我们创建一个程序,使用异或运算符 (xor) 交换两个数字。
#include <stdio.h>
#include <iso646.h>
int main() {
int x = 5;
int y = 3;
// 使用替代的"xor"运算符
x = x xor y;
y = x xor y;
x = x xor y;
printf("After swapping: x = %d, y = %d", x, y);
return 0;
}
输出
执行上述代码后,我们得到以下结果 -
After swapping: x = 3, y = 5
示例
下面的程序使用二选一运算符计算两个值的逻辑"and"(与)。
#include <stdio.h>
#include <iso646.h>
int main() {
int bool1 = 1;
int bool2 = 0;
int result = bool1 and bool2;
printf("Logical AND of %d and %d = %d", bool1, bool2, result);
return 0;
}
输出
执行代码后,我们得到以下结果 -
Logical AND of 1 and 0 = 0

