gpt4 book ai didi

c - printf(..) 参数的执行顺序是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:48 24 4
gpt4 key购买 nike

<分区>

我想做这样的事情 printf("%d,%d",array[c], array[c+1]),只有一个变量在每次迭代中增加。我写了下面的代码,我期望“1,2”到标准输出,我错了:

#include <stdio.h>
int main()
{
int c = 1;
printf("%d,%d",c++,c++); /* 2,1 */
//printf("%d,%d",c,c++); /* 2,1 */
//printf("%d,%d",c++,c); /* 1,2 */
}

如果我尝试执行 printf("%d,%d",c++,c)printf("%d,%d",c,c++) ,我可以看到“c++”语句没有定义的执行顺序。

有人可以解释一下我编写的代码是如何编译的吗?以及它为什么以及如何根据“c++”语句的位置而变化。

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