導航:首頁 > 源碼編譯 > 編譯無誤運行出錯

編譯無誤運行出錯

發布時間:2023-05-22 06:34:35

㈠ 程序編譯時沒錯運行時有錯是怎麼回事

程序編譯沒有錯誤,只是表明語法檢查沒有問題了,但是程序的邏輯是否合理、運行是否正確,則不一定。很多情況都會導致這樣的問題,比方說數組越界,訪問非法指針等,你沒有給出源代碼,也沒有提供相關錯誤信息,所以到底是什麼原因,在這里也不好確定。如果程序不長的話,建議對程序進行調試,監測程序的運行狀態,這樣容易找出問題。

㈡ C語言編譯沒錯,運行報錯是怎麼回事啊

extern int max, min;這一句有問題
改成 int max, min;
因為extern是引用外部文件中的變數,他表示變數或者函數的定義在別的文件中,提示編譯器遇到此變數和函數時在其他模塊中尋找其定義。但是,你沒有相應的外部文件,直接在本文件中用變數的話不用extern。

㈢ 編譯沒問題,但運行時怎麼會出現錯誤呢

可能是指針越界,定義的數組不夠大,訪問了數組以外的數據。
比如定義了char a[10]; 而你的某個循環代碼訪問了a[20],或者a[-1]之類的。

㈣ 編譯的C語言程序沒有錯誤就是運行不了怎麼回事

這個太多情況了,程序能編譯只能證明程序沒語法錯,程序有問題(如下標溢出,表達式不正確)可能導致程序無法運行或結果不正確的

㈤ C語言編譯無誤,但運行有問題,什麼情況

main()函數是系統調用的,正常結束返回0,但凡看見main()前面加void的書就扔了吧。

#include<stdio.h>
typedefstruct
{
charname[80];
charnum[20];
intsex;
floatgrade[4];
floatavarage;
}Student;
intmain()//改動
{
Studentstu[30];
inti;
for(i=0;i<30;i++)
{
printf("學號:");
scanf("%s",stu[i].num);
伍棚printf("姓名:");
scanf("%s",stu[i].name);
printf("性別:");
scanf("%d",&stu[i].sex);//改動
printf("數學:");
scanf("%f",&stu[i].grade[0]);//改動
腔悶則printf("物理:");
scanf("%f",&stu[i].grade[1]);//改動
printf("英語:");
scanf("%f",&stu[i].grade[2]);//改動
printf("計罩備算機:");
scanf("%f",&stu[i].grade[3]);//改動
}
return0;//改動
}

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

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

  1. 內存溢出

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

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

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

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

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

  2. 編譯器錯誤

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


㈦ C語言編程時編譯沒有錯誤,運行時卻顯示有一個錯誤。為什麼

不沒有寫max函數的具體定義,在主函數中又要使用這個函數,系統找不到,自然就錯了。你把max函數的定義寫全了,就沒事了。

㈧ C語言程序,編譯沒有錯誤,執行時出錯。問題在哪

#include<stdio.h>
intmax(inta,intb);
intmain(void)
{
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("maxis%d ",c);
return0;
}
intmax(inta,intb)
{
returna>b?a:b;
}

max函數未定義

㈨ 用vc++6.0編譯沒錯,運行出錯。為什麼

先編譯,然後鏈接,最後運行,編譯正確有滑鬧可能鏈接錯誤,連接叢讓搭正確也可能編譯錯誤,不過運行的滲拿時候只要鏈接正確就行了,你還是檢查下代碼有沒有什麼地方有錯誤

㈩ 編譯通過,運行時出現錯誤是怎麼回事

這個是連接錯誤,已經瞎吵碼有出錯提醒了啊磨哪,把C:\Users\acer\Desktop\VRP\Debug\的內容都刪掉碰搏重編一遍。

閱讀全文

與編譯無誤運行出錯相關的資料

熱點內容
dhcp伺服器新增地址 瀏覽:930
程序員跑三個月外賣 瀏覽:941
linux配置tomcat的jdk路徑 瀏覽:363
液體壓縮公式 瀏覽:777
php開發後台管理系統 瀏覽:360
python二分查找遞歸 瀏覽:447
微信如何發視頻不壓縮 瀏覽:902
河北2021美術高考綜合分演算法 瀏覽:606
如何為電腦文件夾加密 瀏覽:835
電腦自啟動應用命令 瀏覽:690
php判斷一個文件是否存在 瀏覽:829
php導出xml文件 瀏覽:904
7個文件夾解壓 瀏覽:383
python實現機器碼 瀏覽:356
jpeg壓縮器 瀏覽:98
php數組轉化json 瀏覽:33
轉換mp3用什麼app 瀏覽:465
國際服吃雞為什麼沒有提供伺服器 瀏覽:494
單片機中斷定時 瀏覽:395
像搭積木一樣的編程叫什麼編程 瀏覽:804