為什麼c語言程式能編譯但是執行不到
1樓:網友
錯誤原因:在執行過程中發生了異常,比如空指標,陣列越界,死迴圈無法跳出等。
編譯:編譯的意思就通過了編譯器的詞法語法分析器的解析,編譯器可以解析你的所有的**,沒有語法語義上的錯誤,比如c語言 a[-1]這樣的可以編譯,因為語法滿足c語言的標準,但是明顯會報錯,即執行錯誤。
執行:執行時對**的逐條執行過程,在執行過程中可能會出現錯誤,出現錯誤,則會導致程式崩潰等問題。
2樓:網友
編譯只是檢查你的**有沒有語法錯誤,執行的話要實際的結果了,這兩個不一樣,可以私信,把你的**發過來看看。
3樓:網友
原因:可能是某些細節寫錯。
比如: (a==b)寫成了if (a=b)。2.呼叫函式時沒加上括號,比如asdf()寫成了asdf。
解決方法:仔細檢查,努力排錯。
備註:以後寫**時,要注意之前出錯過的細節,以免再錯。
c語言程式問題,編譯成功可卻不能執行,這是為什麼
4樓:虢端城向晨
編譯,只檢查各函式內部的語法是否有錯誤。
連線,除了做編譯要做的檢查以外,還要檢查各函式的呼叫是否正確。
樓主這情況,最常見的就是哪個函式名敲錯了,從頭到尾只檢查函式名的拼寫是否正確。
5樓:哥德堡快遞
編譯成功說明語法正確,不能執行說明方法錯誤。
6樓:匿名使用者
這是乙個不能再正常的問題了。就像,我拿起了菜刀,為什麼切不好土豆絲一樣。
只有熟練的掌握了土豆絲的切法,方可隨心的切出土豆絲來。
只有熟練掌握了c語言編寫某類問題**的技能,也才能編寫出解決這類問題的程式來。
編譯成功只能說沒有語法錯誤,就像會用刀切,不會切到手,並不意味著就能切出粗細均勻的土豆絲來,也就是並不一定能夠實現功能。
具體為什麼,還需要具體問題具體分析了。
7樓:go學龍
這個原因比較多,要視具體情況而定。
為啥c語言編譯成功了,但是不能執行
8樓:網友
你的**問題很多,在vc++下無法通過編譯。
比如 int a[n];//n必須使常量,而你的**中,n是變數,且尚未賦值。
為什麼c語言程式編譯正確但不能執行?
9樓:韶秀榮堵子
這哪是編譯正確,這是有乙個語法錯誤的意思,這樣的程式是無法執行的。
最後一句的語法錯了。
應該是printf("%4d
d",i,slect[i]);
雙引號中間是格式控制字串,用於控制輸出的字串以及變數的格式,變數需要放在雙引號外頭,用逗號分隔。
10樓:江菊祈嬋
編譯正確不代表著就能夠正確執行了。
編譯正確說明只能說明語法上沒有出現問題。
而執行不了,有可能是你的邏輯有問題。
建議詳細檢查**,確證語法、邏輯都沒有錯誤後,再編譯執行。
11樓:_藥賣
建議你下斷點,然後反覆除錯執行,肯定能找出問題所在。 我一遇到次類問題,都是這樣解決的。
c語言程式設計的程式為什麼無法執行,一直提示原始檔未編譯
12樓:亓秀梅后辛
你是不是貼上了網頁上的**,那個可能有很多符號的。還***在英文狀態下輸入啊。未編譯是肯定的啊,你都有語法錯誤啊。
13樓:網友
1、原始檔必須先編譯生成可執行檔案後才能執行。
2、對於dev-c++,編譯和執行都可以在頂部的執行選單內找到。先選擇」編譯「(快捷鍵ctrl+f9),然後再選擇」執行「(快捷鍵ctrl+f10);或者,直接選擇「編譯執行」(快捷鍵f9)將兩步合併操作。
14樓:網友
* program your very first c program-displaying hello world*/
是什麼?是不是你檔案建立錯誤了?
還有樓上說的那個問題也是。
15樓:匿名使用者
那你編譯了嗎?用什麼編譯的?
printf後面是小括號。
16樓:網友
printf; 這句有問題啊。
不是{} 是()
C語言問題無法執行,為什麼C語言程式編譯正確但不能執行?
把float mid 改成int mid 把for i 0 i把for j 0 jmid a n a n 2 2 這一句越界了,不知道你的意圖,無法改,自己改吧 char a n 20 這種定義是不被允許的。應當採用動態記憶體的方式,include stdio.h include string.h ...
C語言程式編譯沒錯誤,但是執行不出結果,求大神看看哪錯了
include include float f float x float l float a,float b main doelse while fabs f c e 問題所在,這裡fabs f c 肯定永遠大於e,你的e是 16,正數永遠大於負 數,這是個死迴圈 printf the ideal...
c語言程式編譯成功,執行後沒有東西
我拿手機除錯了下,你while括號裡的判斷導致整個程式無法執行還不報錯,你可以再仔細看下,變數太多還沒註釋不太想看 上面說的不太對吧 應該是while那一句後面不能有分號 你的程式我沒仔細看也沒去編譯 應該是這個原因 你把while那一句後面的分號刪掉試試 c語言程式編譯的時候沒有錯誤,執行後就顯示...