㈠ C語言 main.exe已停止工作有哪些情況
我之前的是,有個死循環,運行到那裡就停止工作了,因為沒有結果
㈡ C語言運行停止工作
C語言12.exe已停止工作的原因:
肯定會停止工作了,你的數組越界了,你最多能訪問到a[9],你n初始值為9然後又加i直接越界,說白一點,a得下標只能為0到9
㈢ C語言程序運行時顯示編程.exe停止工作,怎麼辦
這種情況叫做 runtime error (運行時錯誤)。請按照結尾的五條提示找出代碼中的錯誤,改正後就沒問題了。
在 Windows 7 上這樣提示:
runtimeerror(運行時錯誤)就是程序運行到一半,程序就崩潰了。
比如說:
①除以零
②數組越界:inta[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;
⑤數組開得太大,超出了棧的范圍,造成棧溢出:inta[100000000]
㈣ C語言編程的時候出現「程序已停止工作」的原因有哪些
編程時候還是運行時候,編程時候那就是軟體安裝有問題,運行的話就是內存溢出,比如指針用錯,數組賦值賦錯地址
㈤ 一運行C語言程序 就提示程序已經停止工作
C語言中函數的調用中,參數傳遞,只能傳遞數值。如果只是將數值傳遞過去(接收者是形參),在子函數中變化,形參的變化,不會影響到實參數據的內容。
C中,每定義一個變數,系統都會在內存中給其分配一個空間用來存儲數據。而這個空間的編號就是這個變數的地址。當我們將這個地址傳遞到子函數中,子函數在操作數據時,就會改變這個地址中的數據,這樣,實參的數據是會發生變化。
而你程序中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程序運行停止。
㈥ 我的C語言剛編譯好,然後運行exe,竟然停止工作
你需要把這句
scanf("%d",weight);
改為
scanf("%d",&weight);
因為 scanf 會把讀取到的整數存入 weight 所在的內存地址中,所以需要加 & 符號來取得 weight 所佔內存的地址。改完以後就可以正常運行了。
㈦ C語言運行時*.exe已停止工作
#include<stdio.h>
void main()
{
int m,n,t,p,r;
while (1)
{
scanf("%d,%d",&m,&n);
if(n>m)
{t=n;n=m;m=t;}
p=m*n;
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
printf("最小公約數是:%d\n",m);
printf("最大公倍數是:%d\n",p/m);
}
}
之前P/R,r已經等於0了
㈧ C語言,一個簡單的程序,exe已經停止工作
至少代碼寫的沒問題,重試?重啟?重裝程序?應該行吧?
㈨ C語言程序運行後 出現exe停止工作
你的rece函數實現的有問題,while (n != 0)這個循環結束時,n肯定是0,而後面*reced_denominator=denominator/n;這個表達式中用n也就是0做除數了,所以會掛。
㈩ C語言程序題exe停止工作
先說下樓上的,如果source.txt或者.txt就算沒有也會默認重新生成該文件...
樓主的問題其實很簡單,就是簡單的死循環,然後有一句我看不懂
*t='\0'; t=h;這是用來幹嘛?是不是反了?先賦值,再賦指針,*t == *h而不會等於'\0'
然後while(*t)中t的值完全沒變,也就是while(1)這分明是死循環,是不是掉了++t之類的?