20180514 ++i和i++
Posted Kxzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20180514 ++i和i++相关的知识,希望对你有一定的参考价值。
函数func的定义如下:
1
2
3
4
5
|
void func( const int & v1, cont int & v2) { std::cout << v1 << ‘ ‘ ; std::cout << v2 << ‘ ‘ ; } |
以下代码输出结果为____。
1
2
3
4
5
6
|
int main ( int argc, char * argv[]) { int i=0; func(++i,i++); return 0; } |
0 1
1 2
2 1
2 0
程序强制终止并报错
结果与编译器有关
答案:结果与编译器有关 错选:2 0
C语言函数参数入栈顺序为由右向左,func(++i, i++)可以分解为
参数 i 先入栈 输出0
然后执行i++ 此时i为1
接着参数 i 先执行++i i 此时为2 后入栈进行输出 2
以上是关于20180514 ++i和i++的主要内容,如果未能解决你的问题,请参考以下文章