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