这段代码中的错误有什么帮助:

时间:2015-04-05 14:59:31

标签: c++ error-handling compiler-errors

此代码中的错误有何帮助。它没有运行。

x=o;
while (x < 10);
    x++;

for (i= .2; i =3; i++)
cout << "i = ";
cout << i;

5 个答案:

答案 0 :(得分:1)

让我们看一下代码中的每个错误。

首先

x=o;

您的意思是0(零)或变量o还是字符'o'
如果它是0(零)或'o'(字符)或变量(具有大于或等于10的值),则由于条件

while (x < 10);

如果o是一个变量(并且它的值小于10),那么它将是一个无限循环,因为你在while循环后留下了一个分号。 如果在while循环之后没有分号,则循环将执行,直到条件x < 10返回false。

下一步

for (i= .2; i =3; i++)
cout << "i = ";
cout << i;

首先,这里应该有{},也许你想要的实际代码是

for (i= .2; i =3; i++)
{
cout << "i = ";
cout << i;
}

如果没有大括号{},那么只有第一行,即cout << "i = ";将在for循环下执行(除非你改变for循环条件,否则它将是一个无限循环)。

另外,您的意思是.2还是2(它们是不同的)

接下来,如果i是float(或int),那么这将是一个无限循环,因为for循环中的条件是i = 3。这将值3赋给i并且它将返回true,因此循环将是无限循环。

如果条件改为i == 3(它将迭代0次)或i < 3(它将迭代1次),那么它将起作用。

如果i是一个int,则会跳过小数点后的所有值,最初i的值为0而不是0.2,但它除非你改变之前提到的条件,否则它仍然是一个无限循环。

但是,如果您将其更改为i < 3,那么它将迭代3次(因为i将获得值012

嗯,这些是代码中的错误。现在,代码可能会因您的初衷而有所不同,但这里有一些例子

int x = 0;
while (x < 10)
    x++;

<强>结果
}在循环结束后将具有值x

下一个代码

10

<强>输出

int i;
for ( i = 2 ; i < 3 ; i++ )
  {
    cout << "i = ";
    cout << i;
  }

答案 1 :(得分:0)

删除&#34;;&#34;从while条件和初始化x与0而不是o。您的代码应如下所示:

x=0;
while (x < 10)
    x++;

如果这解决了您的问题,请告诉我。

答案 2 :(得分:0)

第一个代码片段运行一个无限循环,因为在“while”的删除之后有一个分号:

while (x < 10); // <-- this semicolon 

第二个代码段有一些问题:

  • 缺少周围的括号

  • “停止条件”是作业i=3而不是比较:i==3i <= 3

  • i增加“1”时它永远不会是“3”,而是:1.2,2.2,3.3 ......并且它也会陷入无限循环

以下是修复它的一个选项:

for (i= .2; i == 3; i += .2) { // <-- missing surrounding brackets
    cout << "i = ";
    cout << i;
}

答案 3 :(得分:0)

  1. X = 0 ('zero')o ('oh')
  2. 您是否包含std,如果没有,请使用std::cout并在for循环中包含{}括号。但是你想从第二个代码中实现什么?因为您的i=3永远不会满意。

答案 4 :(得分:0)

我在哪里定义?

在for循环中,由于你没有大括号(如果我们假设条件是拼写错误而你实际上是想写i <= 3),那么循环将会执行。

cout << "i = "; n times <-- note that it only prints i = i = i = ...

for循环结束后,

cout << n; will be printed once.

所以你的最终输出将是:

i = i = i = i = .... i = 3  <--3 is the final value

如果你的for循环实际上有i = 3,那么它每次都为我分配3,所以它将是一个无限循环。

Here是一个关于流控制的教程。