C:while循环中是否超过了时间限制?

时间:2019-01-27 11:15:00

标签: c while-loop

我用C编写了以下代码:

#include <stdio.h>

int main(void)
{
    int i, quadr, sum;
    i = 0;
    quadr = 0;
    sum = 0;
    while (i < 50);
    {
        quadr = i * i;
        sum = sum + quadr;
        i = i + 1;
    }
    printf("Summe = %d\n", quadr);
    return 0;
}

使用此IDE进行编译时:https://ide.geeksforgeeks.org/FP0bOFBmJf

我收到此运行时错误:

  

超出了时间限制

您能帮我发现我的错误吗?

3 个答案:

答案 0 :(得分:2)

请过一会儿删除分号。

来自 while (i < 50);

while (i < 50)

答案 1 :(得分:2)

您面临的问题出在线路上

while (i < 50);

,特别是语句末尾的分号。 以当前形式,当我们越过这条线时,程序将 无限循环,因为在 循环体。 i不会递增。

通过书写修正

while (i < 50) {  /* curly bracket after statement */
  quadr = i * i;
  sum = sum + quadr;
  i = i + 1;
}

答案 2 :(得分:1)

由于;之后的while,此代码导致无限循环。实际上,括号后面的代码部分从未执行过,因此i永远不会递增。

替换:

while (i < 50);

作者:

while (i < 50)