关于for循环的一些细节
2014-05-30 21:19
218 查看
相信有C语言基础的人,一定都会写循环程序,比如说一个简单的for循环。
然而,就单一个小小的for循环都有很大的学问,举个简单的例子:
很多人都能脱口而出,这个循环初始条件是i=0;判断条件是i<10;变化条件是i++;打印出10个A;但是具体的执行顺序是什么呢?什么时候进行判断?什么时候运行变化条件?这个for循环括号里是i=0;i<10;i++看似是一条语句,顺序执行下去,其实不然。在循环之前,执行的是i=0,即赋初值;然后执行判断条件,即i<10,成立即运行;再运行大括号里边的语句,最后才是执行的i++。整个程序其实等效于:
其实C语言需要注意的细节很多。有时候一个细节的出错,将会使整个程序运行错误。
然而,就单一个小小的for循环都有很大的学问,举个简单的例子:
for(i=0;i<10;i++) { printf("A\n"); }
很多人都能脱口而出,这个循环初始条件是i=0;判断条件是i<10;变化条件是i++;打印出10个A;但是具体的执行顺序是什么呢?什么时候进行判断?什么时候运行变化条件?这个for循环括号里是i=0;i<10;i++看似是一条语句,顺序执行下去,其实不然。在循环之前,执行的是i=0,即赋初值;然后执行判断条件,即i<10,成立即运行;再运行大括号里边的语句,最后才是执行的i++。整个程序其实等效于:
i=0; while(i<10) { printf("A\n"); i++; }
其实C语言需要注意的细节很多。有时候一个细节的出错,将会使整个程序运行错误。
相关文章推荐
- 关于C++的一些细节[三:复合类型]
- 关于C++的一些细节[五:函数-基础]
- 关于slub分配器的一些细节
- 关于hibernate从数据库中获得pojo值的一些小细节
- webservices关于处理的一些细节
- 关于C++的一些细节[一]
- 关于C++继承的一些遗忘细节
- 关于print函数的一些细节问题探讨
- 关于沟通的一些细节
- 关于dom4j中的一些注意细节,Element和Node的区别
- 关于多线程的一些细节
- 关于多线程的一些细节
- 关于多线程的一些细节
- 关于slub分配器的一些细节
- 关于Session_End()运行机制的一些细节!
- 关于C++的一些细节[四:循环,分支语句,关系表达式,关系运算符]
- 关于星际中一些细节部分的观点
- 关于多线程的一些细节
- 关于QPushButton的一些小细节
- 关于Socket的一些细节