++ --操作符分析

自加(自减) 在变量前,先计算自加(自减),再进行其他操作;自加(自减)在变量后,后计算自加(自减)。
x++只能作为右值,而++x既可作为左值又可作为右值。
首先看一段程序:

    int i = 3;
    int a = (++i)+(++i)+(++i);

如果算成a=15,就错了。根据编译器的不同有两种结果,一种为a=18,先计算三个括号中的++,然后6+6+6=18;另一种是a=16,先计算前两个括号中的++,得到5+5+(++i)=10+6=16.
其实,上面的计算方式没有必要应用到程序中。。。。。

逗号表达式:
表达式1,表达式2,……,表达式n
规则:从左算到右顺序求职,最后一个表达式n的值就是逗号表达式的值。

int i = 3;
int a = (++ii++,i+10);

这次得到的a=15。

贪心法 ++, –表达式的阅读技巧
编译器处理的每个符号应该尽可能多的包含字符
编译器以从左向右的顺序一个一个尽可能多的读入字符
当即将读入的字符不可能和已读入的字符组成合法符号为止

    int i = 0;
    int j = ++i+++i+++i;

上段代码会报错,根据贪心法,编译器首先读入“++i++”,++i=1,而“1++”无法计算,所以会报错。

    int a = 1;
    int b = 2;
    int c = a+++b;

计算的结果是,a=2,c=3,根据贪心法,计算a++,但是a先参与加b运算,再自加。

空格可以结束编译器的贪心。
将上段程序修改如下:

    int a = 1;
    int b = 2;
    int c = a + ++b;

计算的结果则改变为a=1,c=4,c=1+3=4。
因此,程序中适当的加上空格是很好的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值