gpt4 book ai didi

c - 在printf中(在c中)显示变量和压入堆栈的顺序是什么

转载 作者:行者123 更新时间:2023-11-30 18:55:58 24 4
gpt4 key购买 nike

假设我有以下代码:

#include <stdio.h>    
main()
{
int a,b,c;
b=1;
c=2;

printf("%d\n",10,b=20,b=30,c=50,c=100);
printf("%d\n",b);
printf("%d\n",c);
}

o/p-10,20,50b 的值如何变成 20,而不是 30 ..c 也一样?

最佳答案

参数表达式的求值顺序和它们压入堆栈的顺序是不同的。

C 中未指定参数表达式的计算顺序。因此,可能会首先计算 b = 20,然后计算 b = 30,反之亦然。

将参数放入堆栈的顺序如下:最右边的参数首先放置。

关于c - 在printf中(在c中)显示变量和压入堆栈的顺序是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25831881/

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