以下代码int x,a=3;
x=+ +a+ + +a+ + +5;
printf("%d %d",x,a);
的输出是什么
输出为:11 3.我想知道如何?以及+号表示什么意思?

最佳答案

我认为DrYap正确。

x = + + a + + + a + + + 5;

是相同的:
x = + (+ a) + (+ (+ a)) + (+ (+ 5));

这里的关键点是:

1)c,c++没有+作为后缀运算符,因此我们知道我们必须将其解释为前缀

2)单子(monad)+与二进+的绑定(bind)更紧密(优先级更高)

是不是很有趣?如果这些是-迹象,那就不会那么奇怪了。 Monadic +/-只是一个前导符号,或者换句话说,“+ x”与“0 + x”相同。

关于c++ - 变量后的+号是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10361585/

10-14 19:39
查看更多