C語言程式設計時編譯沒有錯誤,執行時卻顯示有錯誤。為什麼

2021-04-19 08:58:20 字數 1741 閱讀 2015

1樓:匿名使用者

不沒有寫max函式的具體定義,在主函式中又要使用這個函式,系統找不到,自然就錯了。你把max函式的定義寫全了,就沒事了。

2樓:ongame卓傑

你沒有寫max()函式的原型啊,這讓編譯器怎麼理解max()?

3樓:匿名使用者

重新建立一個專案 過 重新編譯就可以。

4樓:

刪掉# include

int main()

{int max(int x,int y);

int a,b,c;

。。。中的【int max(int x,int y);】

為什麼這幾個c語言程式編譯沒有錯誤,但是執行就提示一個錯誤呢?

5樓:匿名使用者

我用win-tc沒錯bai

誤啊,第一個輸出dus=0

第二zhi個輸出s=17708

第三個輸出s=

我想你第dao三個的輸出語句應該是內寫錯了,應該這樣寫,printf("s=%d",s)你那裡容沒有寫%d改掉之後第三個輸出s=-50

6樓:冒泡小小魚

三個程式都有沒錯誤,分開執行都有結果!

你最好把報錯內容貼出來。

7樓:

我用devc++ 執行,都沒問題的啊

c語言程式,編譯沒有錯誤,執行時出錯。問題在哪? 100

8樓:匿名使用者

1 編譯階段,執行的是對單個檔案的轉換,從源**轉換成二進位制檔案。

2 連結階段,將每個原始檔轉成的二進位制檔案,及相關的系統庫檔案共同打包生成可執行檔案。

3 從定義上可以看出,連結階段,出現錯誤有兩種可能:

1) 函式中引用了不存在的函式。

2) 編譯環境有問題,導致ld出錯。

9樓:在角落悠哉的風

首先編譯已經報錯: 有一個找不到的符號連結_max

max這個函式你只宣告瞭但沒有定義,也就是編譯器只知道有這麼個函式,但是函式是做什麼的,不知道。

如果你是新手,諮詢一下其他同學或者老師,這個問題實在不應該發出來,自學才是最好的老師。

10樓:匿名使用者

#include

int max(int a,int b);

int main(void)

int max(int a,int b)

max函式未定義

c語言中,下面編寫的程式,編譯無錯誤,執行時顯示有一個錯誤,怎麼回事呢?

11樓:匿名使用者

拼錯了strcmy ->strcmp

c語言程式設計除錯後沒有錯誤但是卻無法執行是怎麼回事?

12樓:匿名使用者

無法執行可bai能遇到的du問題:

編譯沒錯,但是zhi執行後彈出記憶體相關dao報錯------》有邏

版輯錯誤,或者記憶體呼叫錯權誤

執行直接閃退---------------》有可能該程式無任何執行結果輸出語句,或者使用編譯器(or ide)與作業系統不相容

暫時只能想起這麼多了。

13樓:12端木歪歪

能編譯才能執行,除錯只是分部進行。

c語言中下面編寫的程式編譯無錯誤執行時顯示

第10行,strcmy,改成strcmp 你這程式邏輯混亂了哦。strcmp這個函式是比較的意思,對原來的資料不會進行任何修改的,而且返回值是0和1,你也沒有變數接收返回值。如果沒有理解錯你的意思的話,你應該把if和else下面的函式也改成strcpy 拼錯了strcmy strcmp c語言程式,...

C中編譯時賦值和執行時賦值有區別

readonly可在三種條件下重複賦值 1,編譯時直接賦值 2,實參構造器賦值 3,靜態構造器賦值。以下條件例外 1,構造器內部的匿名方法 2,class a readonly int x a a,a this.x 1 對 a.x 1 錯 先編譯後執行的,const和readonly雖然都不能改變值...

為什麼這幾個C語言程式編譯沒有錯誤,但是執行就提示錯誤呢

我用win tc沒錯bai 誤啊,第一個輸出dus 0 第二zhi個輸出s 17708 第三個輸出s 我想你第dao三個的輸出語句應該是內寫錯了,應該這樣寫,printf s d s 你那裡容沒有寫 d改掉之後第三個輸出s 50 三個程式都有沒錯誤,分開執行都有結果!你最好把報錯內容貼出來。我用de...