2016-10-13 83 views
0

運行這個程序時,它會在某個時刻崩潰,我找不到爲什麼有幫助?我已經從字面上看它在過去的30分鐘,我不能完全找到它這個程序中的運行時錯誤是什麼?

#include <stdio.h> 

void main(void) 
{ 
    int loop_counter = -7; 
    int input = 9; 
    char c1 = '9'; 
    char c2 = 43; 

    while(input == 9) 
    { 
     printf("%d", loop_counter+1); 
     printf("%d", loop_counter+2); 

     printf("%d", loop_counter); 
     printf("%d", loop_counter+1); 
     printf("%d", loop_counter+2); 

     int b = 4*loop_counter; 
     int a = 4/loop_counter; 
     double c = loop_counter/9; 
     printf("%d", loop_counter); 
     printf("%d", loop_counter+1); 
     printf("%d", loop_counter+2);  

     if (loop_counter > 10) 
     { 
      input = 10; 
     } 

     loop_counter++; 
    } 

    printf("loop exit\n\n");  
    getchar(); 
} 
+0

發表的代碼包含大約6個問題。編譯時,始終啓用所有警告,然後修復這些警告。 – user3629249

回答

1

loop_counter開始在-7,然後在每次迭代增加。當loop_counter等於0,你再這樣做:

int a = 4/loop_counter; 

這是除零,並導致浮點異常。

要麼在此時添加一個0的檢查,要麼刪除該行,因爲從未使用a的值。

+0

是啊謝謝你,我剛剛看到了! – Zack

相關問題