循环的深入理解和妙用

2642 人浏览 | 时间: 2015-06-23 14:44:52 | 作者: codexia
    说起循环,其实对于用法,for循环和while循环都是很基础的,你会以为这没什么讲的。说破了不就那么回事,对吧。但是有时候,为什么计算机C语言考试或者别人的代码中,一些代码也是使用普通的循环,但是你有为什么不能够轻易看懂呢,有时候甚至犯晕看不懂,知道为什么吗?因为你学会了使用,学会了通常的用法,然后考试有时候出现了另类的用法,你一定会骂出题人变态。但是答案出来后,其实也无可厚非,并没有什么钻牛角尖的。再比如说,人家很多高手写的代码,相当精炼,执行效率很高,你也看不懂,难道也说他们变态么?我看不然。
    举个例子。i为整型变量,ptr为一个指针,while(i==1); while(1);while(i);while(ptr);更复杂的就不列举了。对于初学者,或者通常不深入想这个问题的,第一个则是最为平常的,第二个还可以理解,第三个和第四个似乎没有那么直观。如果以后在开发过程中,遇到更复杂的写法,是不是就更加难以接受了。当然,这些只是举个例子。相信学过点有点基础的,这些都不会不懂。在这里只是简单举个例子而已。当然,这里谈论的不是什么高深的技巧和知识什么的,主要是帮助初学者能够清晰的认识到这些问题。如果你有其他看法,可以提出,欢迎提出,一起交流和学习。
    这个问题,曾经在一个项目代码中看到了STL的迭代器的使用,使用了for循环来跟新迭代指针,它是使用迭代指针与容器结尾的后一个内存进行比较从而判断测试结果,而在for的第一个分号前不写任何代码,迭代指针是在循环前定义和初始化的。但是我开始还不太理解这种写法,因为都是之前的循环模式,习惯使用了整型来进行循环判断和大小比较,思维束缚了。但是琢磨了一会明白了,然后结合大师的编写习惯进行了代码结构的结合优化,这样就逻辑很清晰。为什么一开始看不明白呢?原因就是思维被束缚了,习惯了一般书上的那种简单的循环测试,看到了新颖的写法就犯迷糊了。其实究根追底,问题就是我
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0