C语言中后置自增(减)运算符的使用
来源:互联网 发布:体育比赛直播软件 编辑:程序博客网 时间:2024/06/04 18:43
我们知道前置自增(自减)运算符是先增(减)再运算,而后置自增(自减)运算符则是先运算后自增,然而有时候仍然会在后置运算符这里犯错。先运算再自增也就是等都运算完之后才自增,即使括上括号也是最后才自增,不要被括号干扰。助记:可认为自增的运算符优先级最低,还不如赋值运算符高,可能这样理解不太恰当,但效果好像是一样的。
测试代码:
#include <stdio.h>#include <stdlib.h>int main(){ int a=2, b=2, c=2, d=2, e=2; c = - a++; d = -(b++); e = -e++; printf("a=%d\n", a); printf("b=%d\n", b); printf("c=%d\n", c); printf("d=%d\n", d); printf("e=%d\n", e); return 0;}测试结果:
最后一句e之所以等于-1,是因为e=-e++;其实就是先算e=-e,得e等于-2,后自增1变为-1。
又如我的上上篇博客点击打开链接里写的第二种实现栈的代码里的压栈函数,其中有一句: *(S->top++) = e; 其实就相当于*S->top=e; S->top++; 这两句,即先赋值后挪动栈顶 ,里面的括号不起任何作用。这才是先运算后自增的真正含义。
附百度百科运算符优先级一览表:
0 0
- C语言中后置自增(减)运算符的使用
- C语言中++自增运算符后置时的使用说明(附C语言运算符优先级表)
- C语言自增、自减运算符使用中应注意的问题 王红
- 关于c语言中自增自减运算符的一点思考
- C语言中自增运算符的解析
- 《More Effective C++》学习心得(五) 前置和后置自增运算符
- C语言自增自减 比较运算符 逻辑运算符的使用 运算符的优先级
- C++中自增和增减运算符的前置形式和后置形式
- C/C++中自增自减的前置和后置区别
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- c语言自增/自减运算
- C语言中指针和自增运算符结合时的运算顺序问题
- C语言中指针和自增运算符结合时的运算顺序问题
- C语言中指针和自增运算符结合时的运算顺序问题
- 重载自增运算符(前置自增++p和后置自增p++)
- C语言中指针的自增运算总结
- Java 内存模型简介
- RxJava+Retrofit+MVP 封装带有加载框的Http请求
- hls心得(1)
- 欢迎使用CSDN-markdown编辑器
- Spring定时器的配置
- C语言中后置自增(减)运算符的使用
- JDBC 连接数据库
- [JQuery]随心所欲添加删除按钮Click事件
- linux下增加swap分区
- 闲谈swi与ucos-终结
- c++上机报告4(循环)
- 如何修改element.style内联样式;
- Java hessian基础教程
- 通话设置