鱼C论坛

 找回密码
 立即注册
查看: 1700|回复: 12

关于for

[复制链接]
发表于 2020-4-10 15:27:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问一下各位老板
for循环 和while循环区别在哪
麻烦说的通俗一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-10 15:37:21 | 显示全部楼层
百度知道
1、使用场景不同:

知道执行次数的时候一般用for,条件循环636f7079e799bee5baa6e997aee7ad9431333431356666时一般用while。

2、两种循环在构造死循环时的区别:

while循环里的条件被看成表达式,因此,当用while构造死循环时,里面的TRUE实际上被看成永远为真的表达式,这种情况容易产生混淆,有些工具软件如PC-Lint就会认为出错了,因此构造死循环时,最好使用for(;;)来进行。

3、两种循环在普通循环时的区别:

对一个数组进行循环时,一般来说,如果每轮循环都是在循环处理完后才讲循环变量增加的话,使用for循环比较方便。

如果循环处理的过程中就要将循环变量增加时,则使用while循环比较方便。

还有在使用for循环语句时,如果里面的循环条件很长,可以考虑用while循环进行替代,使代码的排版格式好看一些。

用法:

for循环可以设置次数,while循环条件满足没有次数限制。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 15:38:23 | 显示全部楼层
区别不太大
for循环的循环条件(包括初始条件,结束条件,变量的修改)都写在了讯快开始的那个括号内了
while循环,开始的括号内只有循环条件,变量的修改需要在循环体内进行。而且循环初始条件需要提前写好

  1. #include <stdio.h>

  2. int main()
  3. {
  4.     int i;
  5.     printf("for循环……\n");
  6.     for ( i=0;i<4;i++) {
  7.         printf("\t循环次数%d\n",i+1);
  8.     }
  9.     int j=0;
  10.     printf("while循环……\n");
  11.     while(j<4){
  12.         printf("\t循环次数%d\n",j+1);
  13.         j++;
  14.     }
  15.     return 0;
  16. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 15:43:53 | 显示全部楼层
编程鱼C 发表于 2020-4-10 15:37
百度知道
1、使用场景不同:

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 15:50:16 | 显示全部楼层
for 已知循环次数
while 未知循环次数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 15:59:01 | 显示全部楼层


你可以设一个最佳答案结个贴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 16:01:05 | 显示全部楼层
chxchxkkk 发表于 2020-4-10 15:50
for 已知循环次数
while 未知循环次数

我觉得其实有时候也不一定

比如
  1. for(;i<1;)
复制代码



  1. for(j=1;a=b;j++)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 16:04:11 | 显示全部楼层
sunrise085 发表于 2020-4-10 15:38
区别不太大
for循环的循环条件(包括初始条件,结束条件,变量的修改)都写在了讯快开始的那个括号内了
w ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 16:37:12 | 显示全部楼层
没什么区别,只是把 循环初始化 和 每次循环的+1等动作 放到了 循环头部,还把 循环变量 设成 局部变量,没了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 18:47:15 | 显示全部楼层
没有区别吧,就是写法不一样!除了do while
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 23:02:09 | 显示全部楼层
萝卜青菜各有所爱,因人而异,大致相同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 23:03:29 | 显示全部楼层
不过,for语句显得更加精炼,初始条件,判断等都涵盖在一个括号内
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 23:36:45 | 显示全部楼层
本帖最后由 入门者 于 2020-4-10 23:38 编辑

二者都可以相互代替,只是for可以在给循环判断条件同时还可以赋初值和更新变量.各有各的方便之处
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 07:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表