while (*p) p++; while (*++p) ; while (*p++)三种循环比较
来源:互联网 发布:上海大学财务网络系统 编辑:程序博客网 时间:2024/05/05 02:48
经常会将如下三种循环混淆,做一下整理。
while (*p) p++;
while (*++p) ;
while (*p++) ;
为了探究这三种中循环的奥秘,我假设如下的场景,假定 p 的地址开始于0x8000.
Address 0x00 0x01 0x02 0x03------- ---- ---- ---- ----0x8000 'a' 'b' 'c' 00x8004 ...
第一种循环:
1. *p = 'a'2. p = 0x80013. *p = 'b'4. p = 0x80025. *p = 'c'6. p = 0x80037. *p = 08. end loop
第二种循环:
1. p = 0x80012. *p = 'b'3. p = 0x80024. *p = 'c'5. p = 0x80036. *p = 07. end loop
第三种循环
1. *p = 'a'2. p = 0x80013. *p = 'b'4. p = 0x80025. *p = 'c'6. p = 0x80037. *p = 0;8. p = 0x80049. end loop
在后两种情况下,我们可以这样来看:
while (*(++p)) ; while (*(p++))
这样理解可能比较方便。
0 0
- while (*p) p++; while (*++p) ; while (*p++)三种循环比较
- while( *p++ ); 和while( *p ) {p++;}的区别
- p;
- p
- p
- p
- p
- P
- :-P
- p
- p++
- p**
- *p++,(*p)++,*++p,++*p
- *p++, *++p, ++*p, (*p)++
- P
- *p++
- *p++, ++*p, (*p)++, *++p
- P
- Qt中限制Item被拖动到Scene场景之外的代码
- C++命名空间namespace的使用规范
- 统计数字问题。给定一本书,其中包含n页,计算出书的全部页码中用到了多少个数字0…9。
- 城市检索并展示图片
- 看代码,学strings包
- while (*p) p++; while (*++p) ; while (*p++)三种循环比较
- 51nod 1298 圆与三角形
- 51nod1027 大数乘法
- 在window系统中的MyEclipse开发基于HBase的MapReduce错误集锦
- react中点击事件简介
- 插入排序
- NOIP 2015 [D2 T3]运输计划
- 浅谈均值、方差、标准差、协方差的概念及意义
- HDU-3966-Aragorn's Story(树链剖分)