专题二 符号的技巧---- 13.++,--操作符的分析
来源:互联网 发布:网络上拨娜娜什么意思 编辑:程序博客网 时间:2024/06/05 09:15
int i=3;
(++i)+(++i)+(++i)=?
常规思考:4+5+6=15
编译器有2种结果:
1.有括号,先运算(++i),i=6,6+6+6=18;
2.加法从左到右计算,先算前两个(++i),i=5,5+5+(++i)=10+6=16.
3.编程结果:gcc(16),g++(16),VC(16)
原因:C语言中只规定了++为自增,并没有规定计算顺序。编译器实现方式不同。
int x;
int i=3;
x=(++i,i++,i+10); //x=15
,逗号表达式的运算规则:从左到右求值,将最后一个值作为表达式的值
++i+++i+++i?
a+++b: 1.a++ +b 2.a+ ++b?
贪心算法,--,++表达式的阅读技巧(编译器底层实现):
编译器处理的每一个符号一个尽可能多的包含字符
编译器从左到右的顺序一个一个尽可能多的读入字符,当即将读入的字符不可能 和已读入的字符组成合法符号为止。
int j=++i+++i+++i; //error: value required as increment operand
贪心算法:1.++i++ 类似于1++
int a=1;
int b=2;
int c=a+++b; //c=(a++)+b=3 a=2
int* p=&a;
b=b/*p; //error,编译器认为是注释开始
b=b/ *p; //利用空格来使程序清晰。
阅读全文
0 0
- 专题二 符号的技巧---- 13.++,--操作符的分析
- 专题二 符号的技巧---- 11.逻辑运算符的使用分析
- 专题二 符号的技巧---- 12.位运算符的分析
- 专题二 符号的技巧---- 8.注释符号
- 专题二 符号的技巧---- 14.优先级和类型转换分析
- 专题二 符号的技巧---- 10.单引号和双引号
- 专题二 符号的技巧---- 9.接续符和转义符(\)
- 符号的技巧
- 符号的技巧
- 2--符号的技巧
- 2.符号的技巧
- C语言学习记录(二):符号的技巧
- 树的专题整理(二)
- 树的专题整理(二)
- 专题订单增加的分析
- 符号表的基本操作
- 一些简单的操作符号
- 符号操作的注意点
- 【七日牧函】为福音争战的教会
- 谨以此文纪念我失败的E题
- hdu5730 Shell Necklace
- Python入门
- Java中的类及对象权限
- 专题二 符号的技巧---- 13.++,--操作符的分析
- CC2530通用I/O
- Eclipse用法和技巧一:还原视图和编辑器
- Git 分支
- 讲章 | 王怡牧师:恩典为王
- C语言的getc()和putc()函数
- JSP九大内置对象
- Git的安装和使用
- js--运动框架