18234075077 发表于 2021-7-2 10:18:08

课后作业S1E14,第一小题

其实这句话真不是很理解,我觉得for语句可以替代while了啊,有什么例子吗?

人造人 发表于 2021-7-2 11:20:50

我同意你的观点,但是我找不到合适的例子
我认为while可以出现的位置,也完全可以使用for
我个人更倾向于用for

wsw530 发表于 2021-7-2 13:10:21

人造人 发表于 2021-7-2 11:20
我同意你的观点,但是我找不到合适的例子
我认为while可以出现的位置,也完全可以使用for
我个人更倾向于 ...

while和for可以相互转换的
for(初始化:控制循环条件:每次循环后执行) 其中个条件都可以省略的
用那种方式实现都可以
主要是看个人(还有,似乎while的执行速度,相对于for底层上好像是更快一点,这个我也是听说{:10_266:} )
例如:当读取到'\n'字符结束循环

#include <stdio.h>
int main()
{
    char ch;

    ch=getchar();
    putchar(ch);
    for(;ch != '\n';){
      ch=getchar();
      putchar(ch);
    }

    ch=getchar();
    putchar(ch);
    while(ch != '\n'){
      ch=getchar();
      putchar(ch);
    }
    return 0;
}


其中while 也可以进行在循环内部进行判定,然后跳出循环如

#include <stdio.h>
int main()
{
    char ch;
    for(;;){
      ch=getchar();
      if(ch == '\n'){
            break;
      }
      putchar(ch);
    }
    while(true){
      ch=getchar();
      if(ch == '\n'){
            break;
      }
      putchar(ch);
    }
    return 0;
}
页: [1]
查看完整版本: 课后作业S1E14,第一小题