【发布时间】:2015-09-02 07:43:51
【问题描述】:
今天下午,我真的不知道我在用 Operators 和 C 做什么。最后,我写了一些我认为不会编译的代码,但我不知道它是如何工作的。
代码是:
#include <stdio.h>
int main()
{
int n=2;
int sum = n + - + - + - + n; /* This line */
printf("%d\n", sum);
return 0;
}
输出是:
0
我对代码是如何编译的以及幕后发生的事情感到完全困惑。
int sum = n + - + - + - + n; 行是如何工作的?
【问题讨论】:
-
你知道一元运算符吗?
-
其中大部分是一元运算符。
-
是的,我知道,但我完全搞不懂它是如何工作的,我也尝试了相同代码的一些不同变体,但仍然有效。
-
一元 + 运算符通常相当混乱,因为它的实际用途非常有限。它主要存在于语言中,以使其与更有用的一元 - 运算符保持一致。
-
谁会写这样的代码,(如果不是教授/助教)?
标签: c operators arithmetic-expressions