2012-02-15 132 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