while(y–)
#include <stdio.h>
int main(){
int y=10;
while(y--);
printf("%d",y);
return 0;
}
答案:无论y一开始是多少,最终y都等于-1。
为什么?
因为非0即真+对于一个数如果一直+或者一直-,超出范围时,会自动循环到另一边。就像凯撒加密中,给Z+1结果是A一样。
所以如果一开始y就是<0的数,那么会一直循环,越来越小,到达范围边界时,变为最大的边界,再减少,到0时退出循环,因为执行了自减运算,所以最终结果是-1。
while(–y)
扩展一下,如果括号内变成–y,那么程序结果是什么呢?
答案:无论y是多少,最终都是0!自己思考。
© 版权声明
1. 除特殊说明外,本网站所有原创文章的版权归作者所有,未经授权,禁止以任何形式(包括但不限于转载、摘编、复制、镜像等)发布至任何平台。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
THE END
暂无评论内容