2012-02-15 68 views
-1

我尝试下面的代码:键盘如何知道无限循环?

#include<stdio.h> 

main() 
{ 
    int i; 
    for(i=1;i<50;i++){ 
    printf("Hello World"); 
    } 
} 

#include<stdio.h> 

main() 
{ 
    int i; 
    while(1){ 
    printf("Hello World"); 
    } 
} 

键盘上显示 “超时”。它有语法检查还是仅仅检查我的程序是否占用了太多时间?

+0

你是什么意思由'如何做'? – CharlesB 2012-02-15 10:50:41

+1

如何检查类似键盘的无限循环。 – user1044942 2012-02-15 11:01:53

+0

如果输出中没有'\ n''(或者显式的'fflush(stdout);'),则输出可能会被“卡住”在一个缓冲区中,并且在第二种情况下您从不会看到它。 **警告:在代码超时之前,它可能会打印几兆字节的“Hello World”s ** – pmg 2012-02-15 18:30:41

回答

2

看起来键盘对提交的程序使用的资源有限制,并停止超出它们的资源。

您的无限循环程序超出了时间限制,并以“超时”消息停止。所以这里没有任何与语法检查相关的东西。

+0

它是否在bash/batch中使用函数set_time_limit在php或脚本中? 以及如何在timer和program.c之间并行编程? – user1044942 2012-02-15 11:06:29

+0

请参阅http://stackoverflow.com/q/1176497/11343 – CharlesB 2012-02-15 12:24:18

+0

用php很好,但在php调用系统函数时不工作。 – user1044942 2012-02-15 14:13:38