【问题标题】:C# simple "for" and "int" issueC# 简单的“for”和“int”问题
【发布时间】:2014-03-03 10:13:20
【问题描述】:

我正在尝试从头开始学习 C#,但我对一项简单的任务有疑问。我不明白为什么这不起作用,你能解释一下吗:

     namespace ConsoleApplication1
{
    class intro
    {
        static void Main(string[] args)
        {
            int i;
            int j;
            for (i = 1; j=-1; i <= 100 && j >= -100; i += 2, j -=2)
            {
                Console.WriteLine(i+j);
            }
        }
    }
}     

编辑:我错过了为什么不起作用,对此感到抱歉。问题是分号而不是冒号...愚蠢的问题,但感谢您的耐心。

【问题讨论】:

  • 简单。你一直循环到i &lt;= 100 &amp;&amp; j &gt;= -100。每个循环,i 添加了 2 个。j 删除了 2 个。如果您不理解这一点,您应该查看基本的 for.. 循环。
  • 代码实际上没有编译。应该是 "for(i=1, j=-1" ...逗号而不是分号。
  • 这段代码无法编译(for(;;;))。
  • 这个网站更适合解释为什么代码工作。您的实际问题是什么?
  • 为什么这个代码工作,或者为什么这个代码工作?

标签: c# int increment decrement console.writeline


【解决方案1】:

有一个很常见的错误,你放置了`;'在','的地方;

for (i = 1, j=-1; i <= 100....

我不知道你想对代码做什么,但它只产生“0”,但代码可以正常工作。

【讨论】:

    【解决方案2】:

    什么意思:

    我不明白为什么会这样

    它是有效的,因为它是一个有效的代码。除了这个逗号应该是分号:

    i = 1; <-- wrong
    i = 1, <-- correct
    

    你正在构建一个 for 循环。你定义了两个变量,ij 然后,你从 1 开始 i 和 j 形成 -1。然后指定循环条件。 i &lt;= 100 &amp;&amp; j &gt;= -100。有了这个条件,你说循环应该执行,只要i &lt;= 100 AND j &gt;= -100 最后一条语句你指定将在每一步中执行的表达式。就是这样。

    【讨论】:

      【解决方案3】:

      for循环需要有一个结构

      for (initializer; condition; iterator)
          body
      

      请参考MSDN,这些是每种编程语言的最基本知识。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多