A. 我c程序正確 但是點擊編譯後不出現結果
能運行,不代表代碼沒錯。
編譯不報錯,不代表能正常運行。
但是運行結果不在你控制之內,代碼肯定有錯
看你剛補發的圖
你的Vs開啟了預編譯頭功能
常用的頭文件,加入到這個預編譯頭文件中,這樣只需要添加stdafx.h即可。
關閉該功能:
右鍵項目->屬性->配置屬性->C/C++->預編譯頭->不使用預編譯頭。
不同版本可能有區別,你找找。
B. C語言沒有錯誤卻編譯不了。
沒有錯誤
卻編譯不了,什麼意思?
printf("x1=x2=%.2lf\n",-b/(2*a));
//這里公式錯了
printf("x1=%.2lf,x2=%.2lf\n",(-b-sqrt(disc))/(2*a),(-b+sqrt(disc))/(2*a));
//應該是sqrt
C. 代碼運行不出來,怎麼用控制台解決
代碼運行不了首先最直接顯而易見的方式就是看控制台有沒有報錯,根據報錯的原因去查找問題,其次可以看看你的代碼所需要的運行環境是不是都安裝和配置好了,一般的話可能是由於安裝環境的軟體版本和代碼運行需要的軟體版本不一致,這時候可以嘗試卸載重新安裝
親親你好,首先需要檢查你編寫程序的 IDE,查看是否存在影響程序成功編譯的語法錯誤。必須修復開發工具里檢測出的所有編譯錯誤,否則程序無法正常運行。如果開發工具檢測出的所有錯誤都修復了,但是代碼還是運行不出結果,那麼很可能是程序編寫過程中出了bug,導致程序沒有按照程序員期望的工作方式運行。此時可以使用開發工具的單步調試功能,找出代碼運行到底是哪一行代碼造成了運行不出結果的問題
親親你好,C語言編寫的代碼無法運行,對初學者來說,最大的可能就是出現的編譯錯誤,常見的情況就是括弧不配對,比如左大括弧有5個,而右大括弧只有4個;或者關鍵字的大小寫搞錯了,又可能是少寫了句末的分號,這些都會導致代碼無法運行。如果您的代碼編譯上沒有問題,但還是運行不起,那很可能就是出現了內存溢出的問題,比如申請了內存沒有釋放,數組下標越界等。
D. 程序無法編譯通過問題,怎麼解決
關於程序無法通過編譯的問題,其錯誤類型肯定是有很多種的。根據我多年的編程調試經驗,可以給你提供以下幾種類型的錯誤,供你參考(以下以 C 語言編程經驗為例,其他編程語言的調試思路也是同理的)。
其中最容易調試的程序錯誤類型就是:
(1)、在編寫源程序過程中出現的各種語法錯誤。這種錯誤主要是由於剛剛開始學習編程,對編程語言的語句、以及語法結構還不是很清晰造成的,這種錯誤是最容易進行調試的,因為語法錯誤,編譯器連編譯都無法通過(通常會顯示出來具體是哪一行出現錯誤),這樣的話,你就可以直接到出錯的那一行進行修改源代碼了;
(2)、若是經過一段時間的上機練習,對學習編程的初始階段已經較為熟練了、且語法錯誤較少了之後,之後就會遇到更加復雜、並且難於調試的語義錯誤。例如在 C 語言中,對於如下代碼:
void main( )
{
int n ;
scanf("%d", &n) ;
if( n == 100 )
printf(" n is 100 !\n") ;
else
printf(" n is not 100 !\n") ;
}
但是若在邏輯判斷語句:if( n == 100) 中,如果誤將「==」(邏輯等於)寫成了「=」(賦值等於),那麼在 scanf("%d", &n) 語句中,無論你輸入的 n 等於多少,一旦執行 if 語句,那麼 將 100 這個數字賦給變數 n,則該邏輯表達式的值總是 1,程序的運行結果必定總是輸出:n is 100。
而該程序的實際思路是:從鍵盤輸入一個整數,如果該整數等於 100,則輸出:n is 100 !如果輸入的整數不等於 100 的話,則輸出:n is not 100 !
像這樣的邏輯錯誤(在對 C 語言源程序進行編譯時,C 語言編譯器是檢查不出來的),如果沒有豐富的程序調試經驗,程序調試起來就是非常困難的。
(3)、其它的錯誤類型例如:數組越界、非法使用了未初始化的指針變數、未對指針變數進行有效的內存分配,就向那一塊存儲區域讀寫數據,等等。這些都會造成程序崩潰,嚴重的就會造成操作系統崩潰。
E. C語言程序對,但是編譯不出來是怎麼回事
可能很多人在安裝VC 6.0後有過點擊「Compile」或者「Build」後被出現的
「Compiling... ,Error spawning cl.exe」錯誤提示給郁悶過。很多人的
選擇是重裝,實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是VC使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。
因此問題可以按照以下方法解決:打開vc界面 點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable Fils、Include Files、
Library Files、Source Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。
如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你裝在其他盤里,則仿照其路徑變通就行(我就是裝在D盤)。
關鍵是microsoft visual studio\ 後面的東西要相同。
本人深受其害,重裝多次不管用,上面中文部分為高手借鑒,
參考:http://..com/link?url=Nc_6_-HpnNXII-iOVHEE_SURDrsp8pQgsuj_rwcO0zq
F. 代碼沒有錯誤為什麼編譯不出來
編譯器是一種翻譯程序,它用於將源語言(即用某種程序設計語言寫成的)程序翻譯為目標語言(即用二進制數表示的偽機器代碼寫成的)程序。後者在windows操作系統平台下,其文件的擴展名通常為.obj。該文件通常還要經過進一步的連接,生成可執行文件(機器代碼寫成的程序,文件擴展名為.exe)。通常有兩種方式進行這種翻譯,一種是編譯,另一種是解釋。後者並不生成可執行文件,只是翻譯一條語句、執行一條語句。這兩種方式相編譯比解釋運行的速度要快得多。
2、 編譯過程的5個階段:詞法分析;語法分析;語義分析與中間代碼產生;優化;目標代碼生成。
3、 在這五個階段中,詞法分析的任務是識別源程序中的單詞是否有誤,編譯程序中實現這種功能的部分一般稱為詞法分析器。在編譯器中,詞法分析器通常僅作為語法分析程序的一個子程序以便在它需要單詞符號時調用。在這一編譯階段中發現的源程序錯誤,稱為詞法錯誤。
4、 語法分析階段的目的是識別出源程序的語法結構(即語句或句子)是否錯誤,所以有時又常為句子分析。編譯程序中負責這一功能的程序稱為語法分析器或語法分析程序。在這一階段中發現的錯誤稱為語法錯誤。
5、 C語言的(源)程序必須經過編譯才能生成目標代碼,再經過鏈接才能運行。PASCAL語言、FORTRAN語言的源程序也要經過這樣的過程。通常將C、PASCAL、FORTRAN這樣的語言統稱為高級語言。而將最終的可執行程序稱為機器語言程序。
6、 在編譯C語言程序的過程中,發現源程序中的一個標識符過長,超過了編譯程序允許的范圍,這個錯誤應在詞法分析階段發現,這種錯誤通常被稱作詞法錯誤。
詞法分析器的任務是以詞法規則為依據對輸入的源程序進行單詞及其屬性的識別,識別出一個個單詞符號。
詞法分析的輸入是源程序,輸出是一個個單詞的特殊符號,稱為Token(標記或符號)。
語法分析器的類型有:自下而上、自上而下。常用的語法分析器有:遞歸下降分析方法是一種自上而下分析方法, 算符優先分析法屬於自下而上分析方法,LR分析法屬於自下而上分析方法等等。
通常用正規文法或正規式來描述程序設計語言的詞法規則,而使用上下文無關文法來描述程序設計語言的語法規則。
語法分析階段中,處理的輸入數據是來自詞法分析階段的單詞符號。它們是詞法分析。
G. 為什麼c語言,有時候所有代碼都正確,卻運行不出來和別人一樣的結果
因為原因有二,其一:你的代碼跟別人的代碼不一樣也會有很大差別,比如你的是a++,別人的是++a。其二:編譯器的不同也會出現這種情況,比如你用的編譯器是VS2019,而別人用的則是DV C++H. 我編寫了個簡單的代碼.怎麼總是編譯不成功阿
一種可能 就是你的代碼有問題
比如 符號錯了,大小寫錯了,或者半形全形字元出錯等等。
還有一種可能 就是你的編譯器有問題
具體的要看你的錯誤提示的。
I. 代碼寫對了,可是卻顯示運行失敗,能告訴我這樣該怎麼解決嗎怎樣做才能成功
圖一的第三行已經把編譯器的心中迷惑表述得十分清楚了:
「大哥,我找不到WinMain啊,你讓我編譯什麼啊?」
另外,你要編譯的是day02.cpp文件,然後你在編輯窗口打開一個hello.c文件,為什麼要這樣混淆視聽呢?
J. c語言helloworld代碼是對的,但編譯錯誤
寫c語言的時候,如果代碼沒錯,這只能說明語法沒有出錯,直接導致的結果就是能編譯通過,並不意味著執行的結果就是正確的。影響c語言代碼執行結果的因素非常多。
一、指針的不正確運用;
二、變數精度問題。char,int,unsigned int,long ,float等,如果變數精度使用不正確,也會影響運算結果;
三、運算符的應用不正確。例如除,取余的區別;
四、正負符號位;
五、運算符的優先順序使用;
六、編譯器不同。各種編譯器也可能造成結果不一致;
C語言雖然是一門比較簡單的語言,但是要掌握這些細節,其實並不容易。