【发布时间】:2021-06-06 06:16:01
【问题描述】:
代码如下:
int convert(int* a) {
return (*a)++;
}
int main(){
int m = 56;
int n = convert(&m);
cout << m << endl;
m = convert(&m);
cout << m << endl;
return 0;
}
为什么m=convert(&m)后面的答案是m=57而不是m=58?
【问题讨论】:
-
通过不在函数内部做真正奇怪的事情来解决这个问题。 要么返回新值要么调整参数。不要同时做这两件事。
标签: c++ post-increment