周你好
2021-04-04 16:24
采纳率: 100%
浏览 35

c++ 中 cout输出顺序

int st()
{
    static int a = 3;
    a++;
    return a;
}
int main()
{
    cout << st() << " " << st() << endl;
    system("pause");
    return 0;
}

输出结果不应该是 4 5吗

为什么输出结果是5 4

真诚求大佬解答 谢谢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    按C /C++调用约定,参数从右到左压入堆栈区: 入栈的顺序是endl, st (),st (), 执行顺序st() << " " << st() << endl 所以结果是5 4

    1 打赏 评论
  • CSDN专家-三岁丫 2021-04-04 16:39

    我这个是菜鸟的在线编辑器

    打赏 评论
  • 有问必答小助手 2021-04-04 22:17

    您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题