【问题标题】:Incrementing a variable in c# not working [closed]在c#中增加一个变量不起作用[关闭]
【发布时间】:2017-06-16 08:09:55
【问题描述】:

所以我目前遇到的问题是我无法增加我的变量。在我的代码中使用“i++”似乎什么都不做,而使用任何其他形式的递增值也什么都不做。

static void Main(string[] args)
{
    Console.WriteLine("Enter a number to see its times tables");
    int number = Convert.ToInt16(Console.ReadLine());
    int i;

    for (i = 10; i == 10; ++i)
    {
        int output;
        output = i * number;
        Console.WriteLine(output);
    }
    Console.ReadKey();
}

我要做的只是创建一个基本循环,但它只是卡在一个无限循环中,将我的变量“i”设置为 10 会导致循环按预期工作,但它只执行一次。循环部分变得无关紧要。

【问题讨论】:

  • 很少,我用它来输出时间表以便重新学习其中的一些,因为我几个月没有做过任何事情,我想知道如何在一秒钟内显示它仍然在研究如何使用这个网站
  • 您的设置与问题无关。这是您所写内容的 100% 逻辑问题。作为记录,VS Community 和 VS Enterprise 之间的主要区别实际上只是用于调试和测试代码的额外功能,以及一些额外的工具。不同版本编译代码的方式不同。
  • 谷歌“比较 C#”和“作业 C#”,然后去阅读一些教程,而不是仅仅尝试将它们一起破解。根据您的预期,您的 for 声明是荒谬的。
  • 为什么这个问题被否决了?它有一个清晰的问题陈述,并提供了说明问题的代码。也许 OP 可以进行更多研究,但我不确定这值得否决。

标签: c# variables increment


【解决方案1】:

试试

for (i = 0; i <= 10; i++)

您的条件意味着循环执行的次数不正确。

通过查看您的帖子的错误次数和各种尝试,这意味着从零到“肯定”(但不正确)的次数。

if 语句是复合语句。在您的情况下,您的 if 语句由三个子语句组成 - 初始化、测试和增量。

if语句执行时,这三个语句依次执行。

如果测试返回 false,则不会进入循环,因此当条件为 'i==10' 且初始化为 'i=1' 时,根本不会执行循环。当初始化为 'i=10' 时,循环执行一次。

子语句 2 和 3 在每次执行循环内容后执行,只要语句 2 解析为 true,循环就会继续执行。

在我们的示例中,使用条件“i

如果不是,则必须将代码添加到循环中以确保循环退出。

这将无限循环

for (int x=0; x==0; ) {

}

这不会无限循环

for (int x=0; x==0; ) {
     x++;
}

可以如下所示进行测试和跳出循环。

for (int x=0; x==0; ) {
  if (x==0) {
     break;
  }
}

如果您不确保循环一定会终止,它可能永远不会退出。

【讨论】:

  • i &lt; 10i &lt;= 10 更有意义吗?
  • 更具体地说,在他的情况下,循环不会执行根本
  • @BradleyDotNET 他的散文与他的代码不同。在更详细地阅读后,我编辑了我的答案。看看历史。我会把它充实起来。
  • @ccpgh 一定已经在宽限期内。我看不到历史
  • @ccpgh 另外,我会切换到
【解决方案2】:

通过使用

(i = 0; i < 10; i++)

i 的范围是 0 到 9

通过使用

(i = 0; i <= 10; i++)

i 的范围是 0 到 10

通过使用

(i = 1; i <= 10; i++)

i 的范围是 1 到 10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多