【问题标题】:C for loop syntax understandingC for 循环语法理解
【发布时间】:2020-06-05 09:33:19
【问题描述】:

我正在为井字游戏做一个程序,我有一条线

for ( count = 1; count < 10 && winner == 0; count++ ); 

我参考了其他程序并想出了这个。

而且我不太确定整行的含义。网上搜了一下,不明白初始化语句( count = 1 )和测试表达式的含义。并且还要澄清一下,count++ 的意思是增加count 对吧?

【问题讨论】:

  • 你可以用这个while循环替换for循环:count = 1; while (count &lt; 10 &amp;&amp; winner == 0) { count++; }。阅读更多en.cppreference.com/w/cpp/language/for
  • 抱歉,如果你不知道这一点,那么是时候开始阅读初学者的 C 教科书了。
  • 我想指出,在条件括号 ( ) 之后的分号 ; 几乎永远不会正确。程序员很少打算这样做。编译器可能会为此发出警告。

标签: c++ c


【解决方案1】:

让我们看一下for循环的结构:

for ( init-statement; condition; iteration_expression) statement;

来自cppreference,for 循环执行以下操作:

执行一次init-statement,然后重复执行statement和iteration_expression,直到condition的值变为false。测试在每次迭代之前进行。

对于您的情况:

  • init statement:一开始count被初始化为1
  • condition:检查count 是否小于10 并且您还没有winner
  • iteration_expression: cout++ 增加 count 1
  • statement:你没有提供,但是会一直执行到条件为假为止。

【讨论】:

    【解决方案2】:

    for循环的语法是

    for(initialization; condition; increment/decrement){
    statement;
    }
    
    1. 初始化: 在开始循环之前,我们将变量初始化为某个值。 在这种情况下,您将“count”变量初始化为 1
    2. 条件: 在条件部分,要在某个点停止循环,您必须提供一些条件。 在这种情况下,条件是'count
    3. 递增/递减: 根据问题,您可以选择增加或减少循环变量('count')。在这种情况下,count++ 意味着您在每次迭代后将计数增加 1。

    【讨论】:

    • 实际上没有 C 语法规则表明您必须执行 init 然后 cond 然后递增。它可以是任何地方的任何有效语句。这只是通常的做法,但是我看到很多 while 循环这样写:for(;;){statement;} 效果很好。
    • 是的,你说得对,我只是提到了for循环的常用方式
    【解决方案3】:
    for (initialize;condition;increment/decrement)
    

    for循环意味着

    1. 你初始化变量
    2. 您应用条件来停止for 循环
    3. 你执行一次循环体(如果条件满足)
    4. 然后您增加或减少该变量的值并转到第 2 步

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多