我正在尝试用C语言编写代码,使用位运算符'or'(¦
)(我知道这很简单)。
但是,当我在GCC中编译它时,我得到:
error: stray \302 and stray \246
我试图寻找这个问题的解决方案,我所看到的是,当编译器不识别符号时,就会发生这个错误。我能做些什么来使它工作?
我的代码是:
#include "stdio.h"
int main(int argc, char const *argv[]) {
int x, y , z;
x = 0xffff;
y = 0x8888;
z = x ¦ y;
printf("0x%u \n", z);
return 0;
}
下面是终端上的错误:
ex_8_4.c: In function ‘main’:
ex_8_4.c:19:3: error: stray ‘\302’ in program
z = x ¦ y;
^
ex_8_4.c:19:3: error: stray ‘\246’ in program
ex_8_4.c:19:12: error: expected ‘;’ before ‘y’
z = x ¦ y;
^
显然我使用了错误的符号(β而不是|)(出于某种原因,这就是它在书中的表现),所以现在它起作用了。
3条答案
按热度按时间hlswsv351#
字符
¦
不是正确的按位或运算符。在键盘中搜索此|
。这段代码在我的机器上用|
编译得很好。t3irkdon2#
您使用了错误的字符。您应该用途:
|
所以,你的代码应该看起来像这样:
qoefvg9y3#
如果找不到正确的字符(
|
vs¦
),请使用三字母??!
。你的线看起来像这样