自加自减符

  1. 先看一看i++和++i : ++i表达式的结果是直接进行加“1”,返回的是i这个变量本身,而i++是先把i的值
    赋给一个临时变量tmp,再对i加“1”,而表达式的值返回的是临时变量的值。
    综上:++i可以被作为一个左值进行赋值,而i++返回的是一个已经消失的临时变量,那么临时变量是无法被赋值的,
    所以无法成为左值只能作为右值。

  2. 与指针:
    
int a[]={1,3,6,43,78};
	int *p=a;
	printf("%d\n",*p++);
	printf("%d\n",*p);          //结果是1  3;第一行先自增p,相当于*(p++)当然这种格式是错误的。
	int b[]={1,3,6,43,78};
	p=b;
	printf("%d\n",(*p)++);
	printf("%d\n",*p);          //结果是1 2;
	int c[]={1,3,6,43,78};
	p=c;
	printf("%d\n",*++p);     //3
	p=c;
	printf("%d\n",++*p);     //2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值