首页 > 其他 > 详细

20180514 ++i和i++

时间:2018-05-14 10:03:48      阅读:139      评论:0      收藏:0      [点我收藏+]
函数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++

原文:https://www.cnblogs.com/kxzh/p/9034565.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!