printf打印顺序问题

printf参数压栈顺序文从右到左,只需记住i++和++i的区别即可
i++会把此时的值当作最后的输出值
i++i仅仅修改当前i的值,最后才输出i**最后修改**后的值

#include<stdio.h>
void main()
{
    int a=0;
    int b=0;
    int c=0;
    printf("a=%d,a=%d,a=%d\n",a,++a,++a);//a=2,a=2,a=2
    printf("b=%d,b=%d,b=%d\n",++b,b,b++);//b=2,b=2,b=0
    printf("c=%d,c=%d,c=%d\n",c++,++c,++c);//c=2,c=3,c=3
}

猜你喜欢

转载自blog.csdn.net/qq_34875598/article/details/81462106