我用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
我收到此运行时错误:
超出了时间限制
您能帮我发现我的错误吗?
答案 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)