DAY02

> 判断表达式的长度并不需要对表达式进行求值,所以sizeof(a=b+1)并没有向a赋值。

测试代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a = 0, b = 0;
	printf("运算前:%d, %d\n", a, b);
	printf("%d \n", sizeof(a = b + 1));
	printf("运算后:%d, %d\n", a, b);
	return 0;
}



> 增值操作符++和减值操作符--

这个操作符实际上只要求操作数必须是一个“左值”。

抽象地说,前缀和后缀形式的增值操作符都赋值一份变量值的拷贝,用于周围表达式的值正是这份拷贝,前缀操作符在进行复制之前增加变量的值,后缀操作符在进行复制之后才增加变量的值。

这些操作符的结果不是被它们所修改的变量,而是变量值的拷贝,认识到这一点非常重要。

++a = 10;

++a的结果是a的拷贝,并不是变量本身,你无法向一个值进行赋值。

测试代码:(test_add_pre.c)

#include <stdio.h>
int main()
{
	int a = 1;
	int b = 0;
	++ a = 10;
	return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值