我的问题与调用函数和减缩操作符有关。以下代码的答案是2011910,我的问题是,在“-m”之后,m应该是19,所以它应该发送19,最后19应该打印,给出输出191910,但是为什么m不改变即使有“-m”?
void f(int a, double b){cout<< a--<< '\t'<< b<< endl;}
int g(double x, int y){ return (x / ++y);}
int main()
{
int m = 20, n = 10;
f(m, g(--m, n));
cout<< m<< '\t'<< n << endl;
return 0;
}发布于 2017-10-19 17:04:23
这是未指定的行为。C++没有说明参数的计算顺序。
https://stackoverflow.com/questions/46835085
复制相似问题