<分区>
我写了下面的程序,它给了我输出 0 1 但我不明白如何
main()
{
int i = 1, m = 2;
m= - - i--;
printf("%d %d", i, m);
}
<分区>
我写了下面的程序,它给了我输出 0 1 但我不明白如何
main()
{
int i = 1, m = 2;
m= - - i--;
printf("%d %d", i, m);
}
最佳答案
让我们考虑一下:
m = - - i--;
此处,- -
应用了两次一元减号。这实际上是一个空操作。因此上面可以简化为
m = i--;
这相当于:
m = i;
i = i - 1;
因此正确的输出是0 1
。
关于c++ - 如果 x 和 y 分别是值为 1 和 2 的两个整数。语句 y= - -x-- 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15699850/