c语言a++与++a的区别

本文详细解析了C++中的自增自减操作符a++和++a的区别,通过实例展示了它们在循环和表达式中的不同行为。在循环中,a++和++a的结果相同,但在其他情况如赋值给变量时,它们会导致不同的结果。例如,++a会先加1再赋值,而a++则是先赋值再加1。文章还提供了一道练习题,进一步阐述了这两个操作符在复杂表达式中的运用。
摘要由CSDN通过智能技术生成

先说结论,a++表示先使用a的值,然后再对a做加1处理;++a表示先对a做加1处理,然后再使用a的值。 a++和++a都等价于【a = a+1】。

我们知道在循环的过程中如下的代码中,无论是a++还是++a,其打印的结果均为0       1       2       3       4,但是注意除循环结构外是++a还是a++其结果可能会大有不同

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	for (int a = 0; a < 5; ++a)
  //for (int a = 0; a < 5; a++)  
	{
		printf("%d\t", a);
	}
	return 0;
}

比如说是下面的代码

#include<stdio.h>
int main()
{
	int a = 3;
	//int c = a++;//a++表示将a输入到c后在对a进行+1
	int c = ++a;//++a表示将a先进行+1,在输入到c;
	printf("a = %-d\n", a);
	printf("c = %-d\n", c);
	return 0;
}

当c = ++a时,打印的结果为a = 4;c = 4也就是说将a+1的结果录入在c当中,此时a = c = 4;

当c = a++时,打印的结果为a = 4;c = 3也就是说先将a的值录入到c当中,再将a+1录入到a中;

做下面一个练习

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int a = 0, b = 0, c = 2, d = 3;
	int i = a++ || ++b && c++ || d++;
	printf("a = %d\n", a);
	printf("b = %d\n", b);
	printf("c = %d\n", c);
	printf("d = %d\n", d);
	return 0;
}

答案与解释都将放在评论区。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值