1樓:井鈺
程式可以執行並不表示程式就是正確的
編譯和連線都正確,只能說明編譯器對他進行語法等檢查
沒發現他的錯誤而已,而既然執行結果是錯誤的,那就是說明一點
可能是你的演算法設計的不當,不能正確的解決問題,這樣發生的錯誤
是執行期錯誤,在編譯連線的過程不會出錯的,不過幸好,編譯器也為我們
提供了一些解決類似執行期錯誤的一些除錯工具,通過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
2樓:匿名使用者
檢視編譯訊息,如果可以也把**發上來
3樓:匿名使用者
演算法不對,執行結果當然不正確!!
4樓:匿名使用者
你這樣問就像是問:我不舒服,怎麼回事呢?
實在是......
c語言程式編譯沒有錯誤,但是沒有結果,為什麼啊
5樓:匿名使用者
有結果呀,我用的vs2012,如圖,lz是不會用編譯器吧,程式除錯無誤的話結果會閃一下,點執行就能保持住dos視窗了
6樓:匿名使用者
||#include
main()
printf("%5d",n);
++i;
if(i%10==0)
}getchar();}是不
du是一
zhi閃dao
而過版?權
7樓:匿名使用者
||#include
int main(void)}}
printf("\n");
return 0;
}你試試這樣屬可不可以~
如果沒理解錯,你是要輸出100到200之間可以被3或5整除的數?
保持**的整潔,這是個好習慣~
8樓:高樓尋縫
沒問題呀!
也可以試試:回答
main()
printf("%5d",n);
++i;
if(i%10==0)
}getchar();}
c語言的一個簡單的程式錯誤,沒報錯,但是結果不對
9樓:匿名使用者
#include
#include
int main()
int mmm(int x,int y) //函式定義
10樓:劉文正粉絲
你這**我不信你能編譯通過.mmm沒有宣告, 等於沒寫.
11樓:
#include
int main()
int max(int x,int y)
lz試試吧,我手邊沒編譯器,應該可以
12樓:立小妖
int mmm;刪了試試
為什麼c語言的**沒有錯誤但是沒有結果
13樓:gta小雞
在程式開頭加入#include,在return 0一句前加入system("pause"),重新編譯執行即可。
14樓:孫向鬆容海
有結果呀,我用的vs2012,如圖,lz是不會用編譯器吧,程式除錯無誤的話結果會閃一下,點執行就能保持住dos視窗了
c語言程式設計沒有錯誤但是執行不出正確結果
15樓:凹一凸一曼一
scanf("%f,%f,%f",&a,&b,&c);
你的scanf語句裡的逗號是英文逗號
而你執行的時候,有的電腦會自動切成中文輸入法所以你輸入3,4,5的時候這裡的逗號是中文逗號所以就出錯了
你在執行的時候注意切成英文輸入狀態就行了,但還是建議scanf語句裡不要新增額外的符號影響輸入。
C語言程式,沒有錯誤,但是執行不出來
stu n num malloc 10 sizeof char 錯誤,malloc返回void 型指標,必須在malloc前加強制轉換操作變為與stu n num相相容的型別。stu n nam malloc 5 sizeof char 錯誤,同上。scanf d t 是啥東西? 成員變數的指標使用...
請高手指點啊c語言程式編譯沒有錯誤但是沒有結果執行只要
茅富 其實我不懂這個氣象液相是幹什麼的。所以我只能 大概的看一下純粹的程式,額。首先,main函式裡 for int i 0 i 12 i x0 x i 這裡當i 11時,要注意到x 11 是沒有定義的,可能會有問題還有就是你那幾個do while語句,我不知道是不是有什麼切合你題目的定理,但是單純...
我用C語言寫了很短的程式,但是,有錯誤。請高手指點
l dx dy dz int t cycling numberdouble dx double dy double dz double dx double dy double dz double l 1 limate dx dy dzdouble l float x1 float x2 float ...