关于C语言的a++的问题

问题遇到的现象和发生背景

关于a++出现了一些问题

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
int main()
{
    int a=10;
    printf("%d %d %d",a,a++,a++);
    return 0;
} 
运行结果及详细报错内容

为啥输出12 11 10,

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

正常理解应该正向输出1 2 3,如果说a++先用后累加,那第一个输出也应该是10,所以还是不懂

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

printf()使用时从右向左压栈,也就是说在printf("%d %d %d",a,a++,a++);中,依次从右向左开始计算,计算完后才会往%d中输出
右侧a++,先是a入栈,然后a++,栈中元素是10(对应最右侧的%d),a变成11
中间a++,先是a入栈,然后a++,栈中元素是11(对应中间的%d),a变成12
左侧a,a入栈,a是12(对应左侧的%d)
压栈完毕后%d从左到右依次出栈显示,就是12 11 10


因为都是后置++,所以是先入栈再执行++操作,栈是先进后出

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632