++运算的奇妙之处
来源:互联网 发布:linux运行anaconda 编辑:程序博客网 时间:2024/04/26 16:39
首先请大家看两个相似的程序:
第一个:
#include<stdio.h>
int size;
size=1;
void main()
{
while(++size<10.5)
{
printf("your size=%d\n",size);
}
}
第二个:
#include<stdio.h>
int size;
size=1;
void main()
{
while(size++<10.5)
{
printf("your size=%d\n",size);
}
}
大家认为这两个程序执行的结果会是什么?先上图,再来解释
结果1: 结果二:
为什么++位置的不同会打印出这样的差异呢?第一个程序中while(++size<10.5);其实质是先进行size=size+1;然后再和10.5进行比较,二个程序中while(size++<10.5)实质是size和10.5先比较,然后size=size+1;这样一来的话在循环到第九次的时候,size的值是10<10.5,条件为真,size=size+1;所以会打印出一个size=11的结果来。
如果你还不明白这样的结果:下面再来举一个例子。
app=a++;//意思是a先赋值给app,然后a再自加;
bpp=++b;//意思是b先自加,然后再把b再把值赋给bpp;
这样你应该就会明白++在前和在后的区别了吧!
good night!
- ++运算的奇妙之处
- 奇妙的位运算!
- 尝试的奇妙之处
- table的奇妙之处
- EXT的奇妙之旅
- 奇妙的三子棋之旅
- Java wait、notify与synchronized的奇妙之处
- swift3.0回首guard的奇妙之处
- 悟透JavaScript之奇妙的对象
- Linux C之奇妙的字符串世界
- 探究Linux的奇妙之旅
- Android layer-list 奇妙之处
- (Android)Adapter类的GetView()方法的奇妙之处
- C++多态与可变参数混搭的奇妙之处
- SEO初体验之莫名奇妙的google
- 出现莫名奇妙的问题之myeclipse无法自动编译
- 《悟透JavaScript》学习札记五之奇妙的对象
- Eclipse-ECF 感受奇妙的协同编程之旅
- Linux 进程通信—消息队列
- Android 修改字体
- 搭建金字塔
- 必考的安卓面试题
- 数据挖掘之分类
- ++运算的奇妙之处
- 在Androidstudio中clone github上的自己喜欢的项目(一步到位)
- 采用二叉链表存储结构,实现其各种遍历的方法
- WebService学习总结(一)——WebService的相关概念
- 机器学习之决策树(Decision Tree)
- 网络爬虫基础(一)
- 简化的MVC-导入模板HTML,导入数据txt,用字符串方法生成JS菜单
- 数据运营的思考
- 非静态内部类为什么持有外部类的this引用