关于a++与a--的区别。以一个程序举例

#include <stdio.h>
int main()
{
	int a, b, c;
	a = 5;
	c = ++a;
	b = ++c, c++, ++a, a++;
	b += a++ + c;
	printf("a = %d b = %d c = %d\n:", a, b, c);
	return 0;
}
#include <stdio.h>
int main()
{
	int a, b, c;
	a = 5;
	c = ++a;       //++a=a+1,c=a+1  因此a=6,c=6
	b = ++c, c++, ++a, a++;
	//b=++c就是c=c+1,b=c,由这里得出c=7,b=7
	//c++就是c=c+1所以得出c=8
	//++a就是a=a+1得出a=6+1=7
	//a++就是a=a+1得出a=7+1=8
	b += a++ + c;
	//这里实际就是b=b+(a++ + c),
	//也就是b=7+(8+8)=23,a=a+1=9
	//注意这里的a++与上一个a++的用法()具体区别看下面几个小程序的区别
	printf("a = %d b = %d c = %d\n:", a, b, c);
	return 0;
}

最后输出9,23,8

int main()
{
	int a = 10;
	int b = a++;
	printf("%d\n", b);
	printf("%d\n", a);
	return 0;
}

这里最后输出10,11

int mainf()
{
	int a = 10;
	 a++;
	printf("%d\n", a);
	return 0;
}

输出11

int mainf()
{
	int a = 10;
	 ++a;
	printf("%d\n", a);
	return 0;
}

输出11

由此可见当a++与++a单独存在时基本没什么区别
但当它们与其他变量有关系时就有先后加减的区别了

还有一个要注意的, a=7,b = ++c, c++, ++a, a++;
这不是逗号表达式,a=7,b = (++c, c++, ++a, a++);这个才是逗号表达式,逗号表达式中b等于括号中最后一个式子即a++,所以逗号表达式中b=7,a=8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南子北游

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值