【问题标题】:changing a while loop into a for loop in ANSI c80 [closed]在ANSI c80中将while循环更改为for循环[关闭]
【发布时间】:2013-01-25 18:41:17
【问题描述】:

我正在尝试将其更改为 for 循环,但我不确定如何。

while((c = getchar()) != EOF){
    tweet[cnt] = c;
    ++cnt;
}

【问题讨论】:

  • 我只是不确定如何将 (c = getchar()) != EOF 放入 for 循环中。
  • 为什么要把这个改成for循环呢?没关系。
  • 这是作业吗?似乎回答它会否定尝试自己解决问题的全部意义。
  • 这不是功课,我只是想弄清楚做一个与另一个做的区别。我正在制作一个匿名器来屏蔽电子邮件和用户名。
  • 问作业问题时,请参考these guidelines。最重要的是,您尝​​试过什么?

标签: c for-loop while-loop


【解决方案1】:
for(cnt = 0; (c = getchar()) != EOF; cnt++)
{
    tweet[cnt] = c;
}

【讨论】:

  • 谢谢 Raja :) 这实际上帮了我很多忙!
【解决方案2】:

虽然循环和 for 循环没有太大区别。 while 循环只包含一个比较,如果它是真的,它会再次执行一次,直到进行比较并且它不再是真的。

for 语句同样只包含 3 个部分,由 ';' 分隔。 第一个是在进入永无止境的循环之前你想做一次的部分。 第二部分与while循环相同。 第三部分是在完成一个循环后,在进入下一个比较再次进入之前要做什么。

许多编译器在第一部分和最后一部分接受多个语句。在这种情况下,您可以得到:

for(cnt=0; , x=0 ; (c=getchar()) != EOF; CNT++, x++){
    tweet[cnt] = c;
}
int TheNumberOfCyclesMade = x;

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 2018-08-13
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2014-03-15
    • 2014-04-05
    • 1970-01-01
    相关资源
    最近更新 更多