為什麼編好的C 程式,編譯時沒錯,到了執行時總是出現Win32執行緒退出,返回值為0,然後就沒有結果了

時間 2021-09-08 13:32:04

1樓:匿名使用者

是有死迴圈, 估計你是把if寫成while了吧? 條件判斷符號== 寫成=了。我給你改了一下,你看看是不是你要的。

#include "iostream"

using namespace std;

#include "cmath"

void main()

,x[8]=,

y[8]=,

a[8]=,

b[8]=,

s=0.4142,

a,b,e,

i[8][8],ln[8],aatan[8];

for(i=0;i<=7;i++)

cout<

if(j == 7)

cout<

}if(i == 7)

cout<

2樓:孟徳

想看結果最後加一句

system("pause");

3樓:著述的鴨子非了

#include "iostream"

using namespace std;

#include "cmath"

void main()

,x[8]=,

y[8]=,

a[8]=,

b[8]=,

s=0.4142,

a,b,e,

i[8][8],ln[8],aatan[8];

for(i=0;i<=7;i++)

cout<

while(j=7) //////////////////////這是死迴圈

cout<

}while(i=7)/////////////////////////這是死迴圈

cout<

為什麼在編譯c++程式的時候是沒有錯誤的,但是執行的時候就是出不來結果

4樓:吾守護奇蹟

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

while(r=!0)

寫反了吧, r != 0

否則就成死迴圈了。。。

5樓:夢中睡客

可能是你沒有輸出結果吧?

6樓:翼下之風

你可以跟蹤除錯一下就知道了

7樓:百科大全才

沒有編譯錯誤, 有邏輯錯誤;

你最好把**貼出來看看;

為什麼編譯正確的c++程式在執行時會停止工作

8樓:匿名使用者

執行錯誤(re)與編譯錯誤(ce)是兩類錯誤,編譯錯誤,是程式語法錯誤,類似於忘記打分號或是括號;執行錯誤 ,是指程式在執行過程**現錯誤 ,只能說是程式存在一定的邊界bug或是存在非法指令。像非法呼叫記憶體(a[-1]),遞迴爆棧,整數被0除之類的

9樓:匿名使用者

編譯只是保證沒有語法錯誤,但是不能保證你的程式的演算法沒有錯誤,如果你的程式中有比較嚴重的bug,如果說訪問了系統保護的記憶體,出於保護,windows會中止你的程式,或是丟擲乙個異常,如果異常沒有**獲並加以處理,程式也會中止,當然,這時你也有機會用除錯工具去debug。這種執行期的錯誤是需要程式設計師去除錯排除的。

10樓:匿名使用者

編譯正確只是表示程式已經沒有語法錯誤了,但是不一定程式的執行就沒有問題,比如記憶體讀寫錯誤,死迴圈之類的都可以導致執行時出錯。最好還是把源**貼出來,如果很小的話。

在c++中執行程式,為什麼在編譯時沒有問題,但是回到程式的執行時,就會出現程式崩潰的情況???

11樓:匿名使用者

編譯器又不是萬能的,雖然已經足夠只智慧型,但是對於乙個傳遞了無數次的指版針是否仍權然有效或者傳遞過一次以上的陣列的範圍等問題編譯器是做不來的(其實並不是做不來,只是為了效率很少去做這些事,你總不希望乙個程式編譯一天吧)。所以要依靠**風格解決這些問題。

其中最常見的是陣列訪問越界和野指標問題,當然也有部分野引用問題也會造成執行時崩潰。所以你要通過改變程式設計風格或者確保每次進行記憶體的相關操作的時候盡力謹慎。前者可以參考 effective c++ 系列和imperfect c++這些書。

另外你編寫的**有很大的問題:

bitnode *gen;//根節點

int sum;

全域性變數只在本檔案有效,在函式內部使用全域性自動變數是非常危險的。用返回值又不會怎麼樣……

countleaf( t->lchild, count);

countleaf( t->rchild, count);

這個會無限迴圈……這遞迴沒有結束條件……

12樓:匿名使用者

陣列越界訪問或者使用了乙個指向null的指標 這些都是執行時錯誤,編譯檢查不出來

C語言程式編譯時程式中的註釋部分是否參加編譯

小夏在深圳 可以參加。所謂註釋,便是用自然語言對源 中某些語句或方法進行說明。並且註釋的內容不會被編譯器編譯。可以在源 中新增任何想要新增的說明。註釋可以出現在 中的任何位置,用來向使用者提示或解釋 的含義。程式編譯時,會忽略註釋,不做任何處理,就好像它不存在一樣。如需要註釋的內容比較多,一行寫不完...

再簡單不過的C,乙個簡單的c 程式,為什麼編譯就是通不過

student stu 5 這個地方改為 for i 0 i 5 i i 2 我的c 十分簡單的程式編好了,完全沒錯誤,編譯也成功,可是點選執行,也就是點那個感嘆號一點反應也沒有 10 是用vc執行的嗎,vc編譯系統還不夠強大,有些錯誤發現不了,樓主再檢查下 吧,實在不行把 給我,幫你看看 你用除錯...

(c語言)檢查後沒錯,為什麼當我輸入兩個數時程式就沒反應了?求解

scanf後面的max,min換成 max,min 你可能選錯了excel的格仔數,仔細檢查橫列跟豎列的格數 你的取位址符呢。程式輸入數字後沒反應,程式 出問題了 3全部 include include int main while n 1 此行少乙個不等號printf n的階乘 d x retur...