2015-04-05 56 views
-6

这段代码有什么错误请帮忙。它不运行。这段代码有什么错误请帮忙:

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

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

没有给出编译时错误?代码看起来正确,但会返回您可能不期望的值 – 2015-04-05 15:08:05

+0

我在哪里定义了?同样在for循环中,因为你没有大括号,循环将执行cout <<“i =”; n次,而cout << i;将在for循环结束后执行一次。 – sam 2015-04-05 15:22:02

回答

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循环条件,否则它将是一个无限循环)。

此外,您的意思是否.22(它们是不同的)

接下来,如果i是浮动(或INT),那么这将是一个无限循环,因为循环在你的条件是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; 
    } 

输出

i = 2 
0

删除 “;”从while条件开始,并且用0不用o初始化x。你的代码应该是这样的:

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

请让我知道这是否解决了你的问题。

+0

感谢您的帮助... – 2015-04-08 16:35:17

+0

我很高兴我能帮上忙。 – Eduard 2015-04-09 19:32:26

0

第一代码片段运行一个无限循环,因为存在的“而”在decleration之后分号:

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; 
} 
0
  1. X = 0 ('zero')o ('oh')
  2. 你有没有includ如果不是,则使用std::cout,并在for循环中包含{}括号。但是你想从第二个代码中获得什么?因为你的i=3永远不会得到满足。
0

我在哪里定义?

在for循环中,由于您没有大括号(如果我们假设条件是一个错字,而您实际上打算编写i <= 3),循环将执行。

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

一旦用于循环结束,

cout << n; will be printed once. 

所以你的最终输出将是这样的:

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

如果你的for循环实际上有I = 3,那么它的分配3我每次都会这样,这将是一个无限循环。

Here是关于流量控制的教程。