有关c语言的++与--
来源:互联网 发布:域名访问升级访问 编辑:程序博客网 时间:2024/04/28 01:50
近期在看谭浩强先生的c程序设计,看到有关自增自减的地方,感觉需要做个记录。
个人观点:对于i++可以解释为三条语句:
tmp = i;
i = i+1;
return tmp;
这里返回的是tmp这个变量,所以说i++在表达式里面可以看成i,因为他们两个的值相等,只不过后面i自增了1。
所以对于表达式 j = i++ + i++ + i++;可以表示为两条语句: j = i + i + i; i = i +3;//因为有三个i++
这样解释的原因是在c语言里(++)后增运算符的优先级是高于(+)的。
对于++i来说可以理解成一下两条语句:
i = i + 1;
return i;
注意,这里返回的是i这个变量,所以++i是先自增一然后再去执行其他的操作,所以对于++i可以看成(i+1)。
对于表达式 j = ++i + ++i + ++i;可以解释为:j = (i+1) + (i +1) + (i + 1); i = i + 3;
同样是因为(++)先增运算符的优先级高于(+).
对于先减和后减运算符也是一样的,同样可以这样来理解。
最后要注意的就是,不同的编译器对于表达式的左结合还是右结合的运算顺序是不同。对于像
printf("%d %d", i, i++);这样的语句还是应该引起注意的。为了好的一致性,并不推荐这样来写。
0 0
- 有关c语言的++与--
- C语言中与文件有关的操作
- C语言中与时间有关的函数和操作
- C语言入门程序与存储器常见的有关错误
- C语言有关的资料
- 有关C语言的知识。
- 与C语言中的inline有关
- 有关c语言考试的感叹
- 有关C语言学习的一点感悟
- 有关c语言的一些迷惑
- c语言有关字符的函数
- C语言有关文件操作的函数
- 有关printf的c语言小程序
- C语言中宏的有关说明
- C语言中有关颜色的定义
- C语言中和时间有关的函数
- 有关c语言指针的总结
- c语言有关内存的问题
- cookie与session的区别
- ECSHOP程序文件解析-cls_mysql文件注释说明
- ListenableFuture in Guava
- HDU 3328 Flipper 魔术纸牌
- 最小二乘回归树生成算法
- 有关c语言的++与--
- ecshop 资料整理
- GTK入门学习:布局容器之表格布局
- Android百分比布局支持库 com.android.support:percent
- QQList列表功能实现
- Fedora20上Xen的安装与部署
- 如何建设一个高性能网站
- Chrome明文存储密码
- Hidden String(模拟)