導航:首頁 > 源碼編譯 > 計算器編譯沒錯誤就是出不來結果

計算器編譯沒錯誤就是出不來結果

發布時間:2023-06-02 14:55:59

A. 代碼能編譯,能運行,但是出不來結果怎麼回事

首先說下這段代碼的問題:
一、scanf函數後面如果不想把回車也放到Btree裡面,後面加上getchar()函數過濾掉回車;
二、在dson函數裡面有一個判斷T是否為空錯了,是==不是=,改為if(T == NULL);
三、還是在這個函數,邏輯錯誤,else if()這句條件是或者||,不是且&&,改成
else if(T->lchild || T ->rchild );
四、上面都改完就有結果出來了,但是節點數會少一個,因為最後一個沒有孩子沒有計數,改成下面的就可以:

五、這里輸入會有個不好的地方,就是你輸入的多上個字元,就要輸入2(n-1)個#才能結束輸入,而且嚴格意義上說這生成的不是一顆樹而是鏈表,一直往左邊擴展,沒有樹的優勢了。
以上就是這段代碼的分析,解答的好的話,請多多採納,謝謝。

B. 為什麼在編譯C++程序的時候是沒有錯誤的,但是運行的時候就是出不來結果

編譯通過只是說明沒有語法錯誤,運行不出結果就是你代碼邏輯問題了
貼代碼看看吧,自己打斷點調試一下

while(r=!0)
寫反了吧, r != 0
否則就成死循環了。。。

C. C++程序編譯連接都沒有問題,但是運行時卻什麼東西都出不來,也沒有報錯,怎麼回事啊

應該是邏輯錯誤吧。邏輯錯誤不同於語法錯誤,編譯器是不會告訴你的。
記得我做數據結構課設的時候就是指針指向不對,結果雖然能運行,但是就是不出結果。。好好檢查一下吧。書上的例子最好看懂了以後自己默敲在電腦里,而不要做typewriter,明白么?望樓主收獲更多。

D. 代碼沒有錯誤為什麼編譯不出來

編譯器是一種翻譯程序,它用於將源語言(即用某種程序設計語言寫成的)程序翻譯為目標語言(即用二進制數表示的偽機器代碼寫成的)程序。後者在windows操作系統平台下,其文件的擴展名通常為.obj。該文件通常還要經過進一步的連接,生成可執行文件(機器代碼寫成的程序,文件擴展名為.exe)。通常有兩種方式進行這種翻譯,一種是編譯,另一種是解釋。後者並不生成可執行文件,只是翻譯一條語句、執行一條語句。這兩種方式相編譯比解釋運行的速度要快得多。

2、 編譯過程的5個階段:詞法分析;語法分析;語義分析與中間代碼產生;優化;目標代碼生成。

3、 在這五個階段中,詞法分析的任務是識別源程序中的單詞是否有誤,編譯程序中實現這種功能的部分一般稱為詞法分析器。在編譯器中,詞法分析器通常僅作為語法分析程序的一個子程序以便在它需要單詞符號時調用。在這一編譯階段中發現的源程序錯誤,稱為詞法錯誤。

4、 語法分析階段的目的是識別出源程序的語法結構(即語句或句子)是否錯誤,所以有時又常為句子分析。編譯程序中負責這一功能的程序稱為語法分析器或語法分析程序。在這一階段中發現的錯誤稱為語法錯誤。

5、 C語言的(源)程序必須經過編譯才能生成目標代碼,再經過鏈接才能運行。PASCAL語言、FORTRAN語言的源程序也要經過這樣的過程。通常將C、PASCAL、FORTRAN這樣的語言統稱為高級語言。而將最終的可執行程序稱為機器語言程序。

6、 在編譯C語言程序的過程中,發現源程序中的一個標識符過長,超過了編譯程序允許的范圍,這個錯誤應在詞法分析階段發現,這種錯誤通常被稱作詞法錯誤。

 詞法分析器的任務是以詞法規則為依據對輸入的源程序進行單詞及其屬性的識別,識別出一個個單詞符號。

 詞法分析的輸入是源程序,輸出是一個個單詞的特殊符號,稱為Token(標記或符號)。

 語法分析器的類型有:自下而上、自上而下。常用的語法分析器有:遞歸下降分析方法是一種自上而下分析方法, 算符優先分析法屬於自下而上分析方法,LR分析法屬於自下而上分析方法等等。

 通常用正規文法或正規式來描述程序設計語言的詞法規則,而使用上下文無關文法來描述程序設計語言的語法規則。

 語法分析階段中,處理的輸入數據是來自詞法分析階段的單詞符號。它們是詞法分析。

E. 程序編譯過了,但是無法運行出結果是怎麼回事

編譯過了沒錯誤,說明你的代碼語法沒錯誤。運行結果不對,是你的代碼邏輯有問題,仔細檢查代碼邏輯流程是不是不對,調試調試。

F. 用C語言編程程序沒有錯誤為什麼結果不對

程序可以運行並不表示程序就是正確的

編譯和連接都正確,只能說明編譯器對他進行語法等檢查

沒發現他的錯誤而已,而既然運行結果是錯誤的,那就是說明一點

可能是你的演算法設計的不當,不能正確的解決問題,這樣發生的錯誤

是運行期錯誤,在編譯連接的過程不會出錯的,不過幸好,編譯器也為我們

提供了一些解決類似運行期錯誤的一些調試工具,通過debug,進行單步調

試下,觀察變數值,看看是不是你想要的等等解決此類問題,具體如何單步

調試見下面:

不過你先要設置斷點,然後按下面操作

在VC++6.0中的單步調試:
調試重要的幾個鍵:
F9在當前游標所在的行下斷點,如果當前行已經有斷點,則取消斷點.
F5調試狀態運行程序,程序執行到有斷點的地方會停下來.
F10單步執行程序.
CTRL+F10運行到游標所在行.
F11和F10的區別是,如果當前執行語句是函數調用,則會進入函數裡面.
SHIFT+F11跳出當前所在函數.
步驟:
1,保存為c或c++文件
2,根據斷點調試找到錯誤處。
3,採用F10或F11單步調試找到精確的錯誤處。其中f10是跳過函數盜用,f11是進入函數體調試。一般是先用f10,確定函數輸入輸出是否正確(與自己想的一樣),如不一樣,則用f11進入函數體一步一步調試。
4,在調試過程中,肯定得監視程序中的變數。在vc6.0的右下角有一個watch窗口,專門用來設置監視變數。具體怎樣設置自己體會吧。在調試過程中,滑鼠輕輕放在變數上也會顯示該變數的值
5,vc6.0專門為調試設置了工具箱以方便調試的進行,打開的方法如下。右鍵——〉在debug(或調試)選擇項的勾勾上。ok

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

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

閱讀全文

與計算器編譯沒錯誤就是出不來結果相關的資料

熱點內容
泰國女同電影 瀏覽:93
干貨考試壓力大送你解壓神技 瀏覽:416
伺服器怎麼找到列印機 瀏覽:803
單片機的浮點運算 瀏覽:380
phpsmarty是干什麼 瀏覽:333
智能控制模糊控制及演算法的論文 瀏覽:612
畫單片機最小系統 瀏覽:830
外包程序員35歲以後干什麼 瀏覽:107
java怎麼重新編譯class文件 瀏覽:571
pythonweb開發與介面測試用例 瀏覽:396
python必背筆記 瀏覽:319
陳鋒羽婷的小說 瀏覽:464
安卓怎麼下載正版刺激戰場 瀏覽:235
xrv本田壓縮比 瀏覽:63
空調耗電量手機app怎麼看 瀏覽:723
伺服器怎麼登錄u8 瀏覽:909
明星pdf 瀏覽:270
判斷手機訪問php 瀏覽:119
appstory怎麼設密碼 瀏覽:798
程序員月薪3萬 瀏覽:261