-
while
学习while过程中,看到c primer plus最后介绍到:当你需要写一个计数while循环时需要具备3个要素:
1.必须初始化一个计数器;
2.必须计数器去和一个固定值作比较;
3.每次执行循环,计数器的值必须递增;FEP:
int num = 10; int i = 0; while(i < num) { ···xxx···; i++; }
其实这里的三要素,正是for循环所要具备的三要素:初始化、测试、更新;
想象一下你是怎么写一个for循环的:int i = 0; for(i = 0; i < 10; i++) { ```xxx```; }
是不是跟while一样呢?所以当你在写while时遇到这种条件的话就可以把它改写成for循环了,这样看起来可能会整洁一些,逻辑有清晰一些。
-
对于for来说,要切记,第一个参数不一定非要初始化变量i=0,同样也可以是某种类型的printf语句。它的特点就是只在执行循环的其他部分之前被求值或执行***一次***
#include <stdio.h> int main() { int num = 0; for(printf("keep entering num:\n"); num != 6;) scanf("%d", &num); printf("that is what i want!\n"); return 0; }
或第一个参数甚至可以是宏:
``` #include <stdio.h> #define FUN(a) a == 10 ? 1 : 0 int main() { int a = 9; for(FUN(a); a != 10;) scanf("%d", &a); printf("a = %d\n", a); return 0; }
-
关于何时使用for和while
当循环涉及到变量初始化或者是迭代更新变量的值、涉及索引计数时使用for
循环更为合适。在其他条件下用while
循环更为格式。
while、for循环
最新推荐文章于 2022-06-17 10:47:19 发布