由于某种原因,该程序在 C: 中编译
int x;
x = 3+-+-5+-5;
printf("%d\n",x);
一般来说,交替“+”和“-”进行编译。好像有奇数“-”就减,否则就加。
这到底是什么?
最佳答案
在此类情况下,左侧操作数右侧的第一个 + 或 - 指示要执行的二元运算;之后的其他 + 和 - 是应用于右侧操作数的一元 + 和 - 运算符。一元 + 操作数不执行任何操作,而 - 会更改符号。这会导致您看到的行为:奇数个 - 要么是负数的加法(+ 后跟 +s 和奇数个 -s),要么是正数的减法(- 后跟 +s 和偶数) -s 的数量)。
关于c - 交替的加号和减号运算符有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66541002/