導航:首頁 > 源碼編譯 > 編譯沒問題但運行停止工作

編譯沒問題但運行停止工作

發布時間:2023-04-10 18:31:57

『壹』 c 語言編譯能通過,運行出現程序已停止工作

可能有幾種情況:
1.程序沒有等待輸入輸出,很快的運行完畢並退出了
2.程序沒有等待輸入,很快計算完畢輸出並退出了
3.程序一運行就出錯退出了。
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。

『貳』 為什麼編譯正確的c++程序在運行時會停止工作

編譯正確只是表示程序已經沒有語法錯誤了,但是不一定程序的運行就沒有問題,比如內存讀寫錯誤,死循環之類的都可以導致運行時出錯。最好還是把源代碼貼出來,如果很小的話。

『叄』 c程序編譯沒問題,運行時就會停止工作怎麼回事

int
a,b;
scanf("%d%d",&a,&b);//參數必須是指針(地址)才可以。
scanf()函數要求參數必須是鄭坦空指針類型,即將地址傳輸到其內,才可以讓a
,
b變數中獲取到數據。
如果你學過指針,你就會理解了。
c語言中函數的調用中,參數傳遞,只能傳遞數值。如果只是將數值傳遞過去(接收者是形參),在子函數中變化,形參的變化,不會影響到實參數據的內容。
c中信鏈,每定義一個變數,系統都會在內存中給其分配一個空間用來存儲數據。而這個空間的編號就是這個變數的地址。當我們將這個地址傳遞到子函數中,子函數在操作數據時,就會改變這個地址中的數據,喊瞎這樣,實參的數據是會發生變化。
而你程序中,傳遞的是a
b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程序運行停止。

『肆』 C語言里程序編譯無誤但運行會彈出程序已停止運行是為什麼

造成程序停止運行彈框出錯的可能原因如下:

  1. 內存溢出

    內存溢出(out of memory)通俗理解就是內存不夠,程序所需要的內存遠遠超出了主機內安裝的內存所承受大小,就叫內存溢出。系統會提示內存溢出,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分內存又可以正常運行該軟體

    造成內存溢出的原因可能有:

    1>棧區溢出,例如在main函數內開辟的數組空間過大,一般機器的棧區限制在8MB左右,如果開辟的數組大小超過限制,程序就會崩潰。通常的解決方法是申請堆內存,即將較大的數組作為全局變數開在main函數之外。

    2>錯誤地址訪問,常見的非法訪問包括指針漂移,數組越界等,初學者也經常出現類似scanf函數沒加區地址符號&的情況導致在讀取變數的時候因非法訪問造成的溢出。

    3>數據類型不符,問題和第二個類似,例如在聲明變數時聲明為int在輸出變數時卻用了%lld,就會造成因數據類型不符而導致的溢出。

  2. 編譯器錯誤

    部分編譯器由於所使用的標准不同(例如在一台機器上使用的可能是C99標准,而另一台機器上使用的是C11標准),或是因為編譯器鏈接庫的損壞,在少數情況下也可能導致程序出現不限於崩潰退出的異常錯誤,通常解決方法是到編譯器官方網站下載最新版的IDE安裝。


『伍』 C++程序沒有編譯問題,但是運行的時候填入數據就停止工作

編譯沒有錯誤兄首盯只是最基本要求,當然不芹毀代表正確。至於程序到底怎麼了,需要調試的,有時候不是看代碼就能搞定的。羨和找個身邊高手教你調試吧,不會調試等於沒有學會編程

『陸』 為什麼編譯沒有錯誤,運行卻有錯誤

編譯沒有錯誤是因為你的程序語法沒有錯誤.
而運行時則有可能出現邏輯錯誤.
比如說C#里最常見的"未將對象引用設置到對象的實例",就是說一個對象並沒有實力化,或者沒有值就去引用了.
再比如連接資料庫,語法正確,但是運行時卻因為SQL未啟動或者連接字元串拼寫錯誤而發生異常.

『柒』 為什麼編譯正確的c++程序在運行時會停止工作

編譯正確只是備判表示仿神改程序已經沒有語法錯誤了,
但是不一定程序的運行就沒有問題,
比如內存讀寫錯誤,死循環之類的都可以導致運行時出錯。
最好還是把源代碼貼出來,如果瞎裂很小的話。

『捌』 VC++6.0編譯沒問題,一運行就停止工作

右鍵單擊VC6.0
快捷方式
後,選擇「
屬性
」,然後單擊「兼容性」
選項卡
,選擇「以兼容模式運行這個程序」。

『玖』 c 語言編譯能通過,運行出現程序已停止工作,請高手幫忙為什麼運行界面顯示此程序已停止工作

可能有幾種情況:
1.程序沒有等待輸入輸出,很快的運行完畢並退出廳伍了
2.程序沒有等待輸入,很快計算完畢輸出並退出了
3.程序一運行就出錯退出了
你沒說詳細情況也沒有代碼,不明白你說的是哪種情況,你扮肢或到命令飢腔行下,進到程序所在目錄,手動輸入程序名並回車,看看命令上有無提示信息吧

『拾』 調試編譯程序都顯示沒有錯誤,可剛讓其運行就顯示該程序已停止工作,請高手指點這是怎麼回事。謝謝啦

有以下幾種情況供你參考,
1、JVM虛擬機出現錯誤,即Java開發環境出現錯誤,與你的程序無關,
解決辦法:只能試著重新安裝Java開發環境。
2、出現RuntimeException,像NullPointerException、等等,這類的錯誤在編譯時不顯示,運行才可能出錯。
解決辦法:根據異常信息尋找可能出現錯誤的地方。
3、內存溢出,像諸如方法的遞歸調用、數據量太大、以及偶然性內存溢出。
解決辦法:首先多運行幾次,如果都出現異常錯誤,就可排除偶然性內存溢出。如果不是偶然性內存溢出,你就得查看源代碼那些可能導致內存溢出的地方,並糾正。

閱讀全文

與編譯沒問題但運行停止工作相關的資料

熱點內容
新科學pdf 瀏覽:744
現在還有c語言編譯嗎 瀏覽:672
哪裡買到單片機 瀏覽:478
linux文件打開數量 瀏覽:510
編譯原理中什麼是l屬性文法 瀏覽:367
硬碟加密時出現的問題 瀏覽:59
如何退域命令 瀏覽:108
看書的app哪裡看 瀏覽:291
伺服器怎麼調大 瀏覽:3
android天氣apijson 瀏覽:984
為什麼創建id會出現伺服器錯誤 瀏覽:837
代碼中有不必編譯的單詞嗎 瀏覽:563
鉤子與資料庫編程 瀏覽:563
安卓光遇錄歌怎麼設置 瀏覽:485
虛擬機怎麼和雲伺服器搭建集群 瀏覽:896
python倒計時代碼turtle 瀏覽:492
cad命令mv 瀏覽:928
nexus7一代androidl 瀏覽:306
linux使用靜態庫編譯過程 瀏覽:103
android平滑滾動效果 瀏覽:841