為什麼c語言寫出來的程式執行會停止工作
1樓:網友
你是在win7作業系統使用編寫的c語言吧?
如果是的話,程式出錯很正常,因為與win7的相容性不好,有很多時候都會出錯;隨著win7的一部分補丁的安裝,相容性會越來越差,往後甚至會出現。cpp檔案一開啟就出現崩潰。
建議在win7中使用visualstudio2010平臺。
另外,儘量少使用中文命名你的檔案或資料夾,有一些低階的軟體無法識別中文字元。
2樓:plus彭路
建議使用visualstudio進行斷點除錯。
3樓:66666順心
.我怎麼感覺做這個遊戲好逗啊!呵呵!
4樓:網友
自己除錯吧。可能是陣列越界之類的問題。
用c語言編寫東西 為什麼程式會停止工作?
5樓:金魚
這種情況叫做 runtime error (執行時錯誤)。
runtime error (執行時錯誤)就是程式執行到一半,程式就崩潰了。
比如說:除以零。
陣列越界:int a[3]; a[10000000]=10;
指標越界:int * p; p=(int *)malloc(5 * sizeof(int));p+1000000)=10;
使用已經釋放的空間:int * p; p=(int *)malloc(5 * sizeof(int));free(p); p=10;
陣列開得太大,超出了棧的範圍,造成棧溢位:int a[100000000]
6樓:網友
程式停止響應,是因為你的記憶體出現非法讀寫操作請檢查你的**所有關於記憶體讀寫的地方。
不能用下標 10 讀取陣列 x1 的內容,這樣子會導致陣列上標越界你只能使用 0 - 9 來讀取陣列 x1 的內容。
7樓:網友
scanf("%s",name[10]);改成scanf("%s",&name[10]);
scanf("%s",course[5]);改成scanf("%s",course);
printf("%s",name[i]);改成printf("%c",name[i]);
printf("%s",course[i]);改成printf("%c",course[i]);
c語言程式設計為什麼出現exe停止工作
8樓:
你的這種情況叫做 runtime error (執行時錯誤)。
<>runtime error (執行時錯誤)就是程式執行到一半,程式就崩潰了。
比如說:①除以零。
陣列越界:int a[3]; a[10000000]=10;
指標越界:int * p; p=(int *)malloc(5 * sizeof(int));p+1000000)=10;
使用已經釋放的空間:int * p; p=(int *)malloc(5 * sizeof(int));free(p); p=10;
陣列開得太大,超出了棧的範圍,造成棧溢位:int a[100000000]
9樓:倒黴熊
if(n=0)
break;
num[i]=n%base;
n=n/base;
判斷是 ==不是= ,乙個等號表示賦值,所以n=0,而這個迴圈會一直下去 死迴圈了。
10樓:牽著螞蟻採蘑菇
看看你的程式裡面的scanf語句中有沒有「&」這個符號,(舉個例子:scanf("%d",&a);這裡的&表示取位址,如果沒有這個符號會出現你講的這個現象)
11樓:晴雨蕩氣
yntax error : missing ';before '<
d:\學習系統2012\c語言檔案系統\vbxxb\ :error c2501:
include' :missing storage-class or type specifiers
d:\學習系統2012\c語言檔案系統\vbxxb\ :error c2143: syntax error : missing ';before '<
d:\學習系統2012\c語言檔案系統\vbxxb\ :error c2143: syntax error : missing ';before '{
d:\學習系統2012\c語言檔案系統\vbxxb\ :error c2447:
missing function header (old-style formal list?)
執行 時出錯。
1 error(s), 0 warning(s)
zhe這麼多的 錯誤。
12樓:網友
c=i;for(i=0;i這句問題大大的啊。
13樓:網友
這個一般是你的程式有記憶體錯誤或者邏輯錯誤。建議除錯執行。
c語言程式執行總是顯示已停止工作,怎沒改啊!!!求解!!!
14樓:在晴天的雨傘
int a,b;
scanf("%d%d",&a,&b);/引數必須是指標(位址)才可以。
scanf()函式要求引數必須是指標型別,即將位址傳輸到其內,才可以讓a , b變數中獲取到資料。
如果你學過指標,你就會理解了。
c語言中函式的呼叫中,引數傳遞,只能傳遞數值。如果只是將數值傳遞過去(接收者是形參),在子函式中變化,形參的變化,不會影響到實引數據的內容。
c中,每定義乙個變數,系統都會在記憶體中給其分配乙個空間用來儲存資料。而這個空間的編號就是這個變數的位址。當我們將這個位址傳遞到子函式中,子函式在運算元據時,就會改變這個位址中的資料,這樣,實參的資料是會發生變化。
而你程式中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作位址去操作,因此會產生系統錯誤,導致程式執行停止。
c語言編寫程式後,為什麼執行時自動關閉?
15樓:哎呀沃去
在前面變數定義部分增加:char buffer[20];
scanf改成:scanf("%s",buffer); ch=buffer[0];
16樓:鳳舞天族
你執行的時候按ctrl+f5就不會關掉了,最後一行顯示press any key to continue!
c語言中一般執行後停止工作有哪些情況
17樓:網友
只要編譯通過,一般情況下c語言程式停止工作,多為輸入輸出格式不對,或計算陷入死迴圈。
1、輸入輸出格式不對。最常見的就是&符號,該有的沒有,不該有的打了&符號。
例如:int n;
scanf("%d",n);
n前少打了&符號。編譯能通過,執行時就會出現停止工作的情況。
2、個別計算陷入死迴圈的情況,例如:
int i,k;
i賦值;k=關於i的表示式;
計算k值陷入死迴圈。
為什麼執行c語言程式設計時停止工作
18樓:網友
你的scanf語句應該改為scanf("%lf",&n);
這裡有兩個問題,第乙個是n是double型別,對應輸入輸出是%lf的格式,%d是整形輸出。
第二個是輸入語句的「%lf」是輸出格式,&n是輸入對應的變數,中間需要用,分開,不能寫在一起;
其次,你的printf("imul=%d",imul);也要該做%lf,請參考。
c語言程式執行後 出現exe停止工作 為什麼呢?
19樓:爤兜
c語言程式執行出現exe停止工作的原因是因為記憶體溢位和編譯器錯誤。
第一種:記憶體溢位。
記憶體溢位(out of memory)通俗理解就是記憶體不夠,程式所需要的記憶體遠遠超出了主機內安裝的記憶體所承受大小,就叫記憶體溢位。系統會提示記憶體溢位,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分記憶體又可以正常執行該軟體。
第二種:編譯器錯誤。
舉例說明:1、除以零。
2、陣列越界:int a[3]; a[10000000]=10。
3、指標越界:int * p; p=(int *)malloc(5 * sizeof(int));p+1000000)=10。
4、使用已經釋放的空間:int * p; p=(int *)malloc(5 * sizeof(int));free(p); p=10。
5、陣列開得太大,超出了棧的範圍,造成棧溢位:int a[100000000],沒有開闢記憶體 list l=(list)malloc(sizeof(struct lnode))。runtime error (執行時錯誤)就是程式執行到一半,程式就崩潰了。
20樓:網友
這種情況叫做 runtime error (運bai行du
時錯zhi誤)。
在 windows 7 上這樣提dao示:
runtime error (執行時錯誤回)就是程式執行到答一半,程式就崩潰了。
比如說:除以零。
陣列越界:int a[3]; a[10000000]=10;
指標越界:int * p; p=(int *)malloc(5 * sizeof(int));p+1000000)=10;
使用已經釋放的空間:int * p; p=(int *)malloc(5 * sizeof(int));free(p); p=10;
陣列開得太大,超出了棧的範圍,造成棧溢位:int a[100000000]
21樓:電泡泡
a[6][6]下標是a[0~5][0~5]你的下bai面這段**du
for(i=2;i<7;i++)
for(k=1;k<=i-1;k++)
a[i][k]=a[i-1][k]+a[i-1][k-1];
迴圈已經越界了,計算機。
zhi找不到dao指定的區域,自然會跳出程版序,計算機程式設計邊。
22樓:郝在益
a[6][6]是從a[0][0]到a[5][5]的。
for(i=0;i<7;i++)
a[i][0]=1;
這裡你的i可以等於6,超過了範圍,所以就不行咯。
C語言,我的程式為什麼執行不對,c語言中輸入一個程式後顯示無錯誤,為什麼不能執行
是陣列,本身就是地址,不必用 2 b進位制,每位上的數字最大值是b 1,因此,應該先檢視3個數各位的數字,取最大值 1作為b的最小值.3 注意,base在每次求1個數之前,要重新歸1。你求sum1,sum2,sum3前,都沒有歸1,base累積,越來越大。第一個base 1 應該在for i len...
C語言讀程式執行結果是什麼,並請寫出原因謝謝
1.執行結果 wlo 分析如下 由main i 0 執行fun i printf c st i 輸出w 又 i 2 則i 2 執行func2 i 輸出 l 接著 i 2 i 4 執行 func1 i 輸出 o 最後輸出 wlo 2.執行結果 22 main函式執行f a j 0 則i 0 執行s b...
c語言問題,程式如下,執行結果為什麼是3,5,3,我看是3,
int a 3,b 5,c 7 if a b a b 這個if語句不成立 所以b不會賦值給ac a 這是把a賦值給c 這時a 3,b 5,c 3if c a c b 因為c等於a 所以這句不執行printf d,d,d n a,b,c 最後結果 3 5 3 include main 等價於 incl...