int main()
{
int x = 3, z ;
z = x / + + x ;
printf ("x = %dz = %d", x , z );
return 0;
}
我认为输出将是 x=4 z=0
或x=4 z=1
。但我得到 x=3 z=1
.
最佳答案
尝试删除 ++
(增量运算符)之间的空格。使用 ++x
或 ++ x
。编译器可能将其解释为 +(+x)
,即 一元 +
运算符。
关于c - 为什么这个程序会给出意外的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18568877/