1. 死循環編譯時會報錯嗎
不會的,沒有那麼智能化的編譯器,最多能提示while(true)這樣的語句
2. 以下的C程序代碼為什麼會出現死循環錯在哪裡希望高手指點。
第一個循環,i=N的時候數組越界了。數組范圍只能是a[0][0]~a[9][9]。
死循環,應該說很多編譯器對於這個代碼都會生成產生死循環的代碼。因為i的聲明雖然在a[N][N]之前,但賦值是在其後。因此i在內存上的實際位置,會變為a[N][N]之後的第一個位置,所以樓主的代碼執行到a[10][1] = 1 時,正好將i重新初始化為1了
3. C語言中,如果編譯的程序是無限循環的,系統會如何處理
一直運行啊,如下:
main()
{
int i=1 ;
while(i>0)
printf("死循環\n");
}
就是一直運行,CPU應付這點點循環還搓搓有餘。。。
不過有的會報錯,
4. C語言編譯成功卻沒有結果顯示怎麼破
經整理並編譯後執行,發現該程序之所以沒有顯示,是因為它一直在執行。
出現上述現象,一般情況下,是因為程序陷入了死循環。
建議:
一、每個if或else子句,哪怕只有一個語句都用{}括起來,以便梳理程序結構;
二、逐段測試或按功能寫成函數形成模塊,從而方便調試。
5. 這個C程序代碼為什麼會出現死循環錯在哪裡希望高手指點。
第一個循環,i=N的時候數組越界了。數組范圍只能是a[0][0]~a[9][9]。
至於死循環,只能說有可能編譯器會生成死循環的代碼(gcc環境下並不陷入死循環)。因為i,j的聲明雖然在a[N][N]之前,但實際內存上可能位於a數組之後。因此在越界訪問數組並賦值時,有可能將i或j重新賦值,導致循環無法跳出。
6. c語言陷入死循環,應該怎麼改呢拜託拜託,求大佬解答
1、DateCheck()函數是否處理有問題
2、輸入要英文模式下數字,
3、單步驟調試一下