我的问题与调用函数以及减少运算符有关。 以下代码的答案是 20 1 19 10 我的问题是," - m" m应该是19因此它应该发送19,最后19应该是打印输出 19 1 19 10 但是为什么即使有" - 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;
}
答案 0 :(得分:4)
这是未指明的行为。 C ++没有说明参数评估的顺序。