增加c#中的变量不起作用

时间:2017-01-31 01:20:53

标签: c# variables increment

所以我目前遇到的问题是我无法增加变量。在我的代码中使用'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会导致循环像它应该的那样工作,但它只执行一次。循环部分变得无关紧要。

2 个答案:

答案 0 :(得分:3)

尝试

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

您的情况意味着循环执行的次数不正确。

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

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

当执行if语句时,这三个语句按顺序执行。

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

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

在我们的示例中,使用条件'i&lt; = 10'将导致循环内的代码执行11次。 'i&lt; 10'会使它运行十次。选择子语句2(即循环条件)时必须小心。您必须确保语句1中的初始值和语句3中的增量(或者更改为在循环体内进行的值的更改)保证条件最终会失败。

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

这将无限循环

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

}

这不会无限循环

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

可以进行测试和中断循环,如下所示。

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

如果您不确保循环可以保证终止,则可能永远不会退出。

答案 1 :(得分:0)

使用

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

i的范围是0到9

使用

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

i的范围是0到10

使用

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

i的范围是1到10