gpt4 book ai didi

c++ - cout vs printf -- 执行顺序

转载 作者:太空狗 更新时间:2023-10-29 23:31:14 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Compilers and argument order of evaluation in C++
cout << order of call to functions it prints?

  1. 这个:

    int k=3;
    printf("%d %d %d",k++,k,++k);

    输出为 4 4 4 因为它们被压入堆栈:

    %d%d%d

    4 -- for k++
    4 --for k
    4 --for ++k

    对吧?

  2. 这个:

    int k = 3;
    cout << k++ << k << ++k;

    其实就是重复的函数调用,所以相当于:

    ( ( (cout << k++) << k) << ++k);

    所以,我想首先 k++ 然后是 k 然后是 ++k 必须总是按照这个顺序执行,对吧?我相信函数调用是一个序列点,但输出因不同的实现而异。为什么会这样?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com