C语言的输出问题

在这里插入图片描述
下面是我个人经过查阅资料后的个人理解

#include <stdio.h>

int main()
{
	/*总结
	1.在c语言中的printf语句中,数据的处理时按照从左往右的入栈进行输出的
	2.如果是++i或者i的话就先不入栈,等运行到最后在入栈
	3.如果是i++的话就先入栈
	*/
   int k=6;
	printf("%d,%d",k++,k++);
	/*
		先如栈6,然后入栈7,按照栈的顺序先进后出,所以输出顺序是7 6
	*/
	printf("\n");
	printf("%d,%d",++k,++k);
	/*
		因为是++k,先不如栈,把所有的++k执行完后在如栈,
		也就是10
		按照栈的顺序先进后出,所以输出顺序是10 10
	*/
	printf("\n");
	int d=1;
	printf("%d,%d,%d",d++,++d,d);
	/*
		因为开头是d,所以继续下一条++d,也先不入栈,然后是d++,也就是2先入栈,然后3 3依次如栈
		然后按顺序就是2 3 3
	*/
	printf("\n");
	int a=0;
    int b=0;
    int c=0;
    printf("a=%d,a=%d,a=%d\n",a,++a,a);
    printf("b=%d,b=%d,b=%d\n",++b,b,b++);
    printf("c=%d,c=%d,c=%d\n",c++,++c,c);
	/*
		1.因为是都是a和++a,所以都先不如栈,全部运算完后依次入栈,也就是 1 1 1,
		2.b++先入栈,也就是0先如栈,然后是b和++b,执行完后依次如栈,也就是2 2 0
		3.c和++c先不如栈,然后c++如栈,也就是1先如栈,然后依次如栈后就是1 2 2
	*/

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值