-4

我在 C 程序中有其他人以这种格式编写的语句 int variable |= functioncall(parameter); 我不明白 OR '|' 的用法 签署该声明。谁能解释一下赋值运算符的作用。我猜是按位或然后分配。

4

1 回答 1

2

|=是按位或赋值运算符。基本上,a |= b意味着a = a | b

请查看此 Wikipedia 文章以获取所有此类复合赋值运算符的列表。

在这里,整个语句的确切含义someVar |= functioncall(parameter);是:

  1. 计算functioncall(parameter)然后的返回值,
  2. 对返回值和 的原始值进行按位或运算someVar
  3. 最后将按位或的结果分配给someVar.
于 2015-11-05T03:37:09.310 回答