当前位置: C语言 -- 标准库 -- <iso646.h> -- xor_eq

xor_eq宏


概要:

#define xor_eq ^=


描述:

该宏是赋值运算符^=的替代拼写方案。

a xor_eq b等同于a = (a xor b)


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
/*宏xor_eq范例*/

#include <iso646.h>
#include <stdio.h>

int main(void)
{
    int a = 5;
    printf("a = %d", (a xor_eq 7));

    return 0;
}


输出:

a = 2

(a xor_eq 7)等同于a = (a xor 7)

5的二进制形式为:0101

7的二进制形式为:0111

0 1 0 1
^ 0 1 1 1
0 0 1 0

(5 xor 7)的结果为2,所以(a xor_eq 7)等同于a = 2;表达式a = 2一方面将变量a的值修改为2,另一方面整个表达式的值也为2,所以%d对应的值为2


相关内容:
xor 表示^的宏。