1樓:匿名使用者
x是整型,在最後乙個printf函式
中應該用%d,你用的是%lf。如果你要回用%lf,程式應該改答為:
#include "stdio.h"
void main( )
2樓:匿名使用者
是求最大公約數吧?
printf("%lf",x);中的控制符不正確,應改為%d,即printf("%d",x);
3樓:入門到入土的猿
emm,我跑了下沒問題啊,可以說下程式是做什麼的嗎,還有輸入輸出應該是什麼啊
c語言程式,編譯沒有錯誤,執行時出錯。問題在哪? 100
4樓:匿名使用者
1 編譯階段,執行的是對單個檔案的轉換,從源**轉換成二進位制檔案。
2 鏈結階段,將每個原始檔轉成的二進位制檔案,及相關的系統庫檔案共同打包生成可執行檔案。
3 從定義上可以看出,鏈結階段,出現錯誤有兩種可能:
1) 函式中引用了不存在的函式。
2) 編譯環境有問題,導致ld出錯。
5樓:在角落悠哉的風
首先編譯已經報錯: 有乙個找不到的符號鏈結_max
max這個函式你只宣告了但沒有定義,也就是編譯器只知道有這麼個函式,但是函式是做什麼的,不知道。
如果你是新手,諮詢一下其他同學或者老師,這個問題實在不應該發出來,自學才是最好的老師。
6樓:匿名使用者
#include
int max(int a,int b);
int main(void)
int max(int a,int b)
max函式未定義
c語言程式設計時編譯沒有錯誤,執行時卻顯示有乙個錯誤。為什麼? 5
7樓:匿名使用者
不沒有寫max函式的具體定義,在主函式中又要使用這個函式,系統找不到,自然就錯了。你把max函式的定義寫全了,就沒事了。
8樓:ongame卓傑
你沒有寫max()函式的原型啊,這讓編譯器怎麼理解max()?
9樓:匿名使用者
重新建立乙個專案 過 重新編譯就可以。
10樓:
刪掉# include
int main()
{int max(int x,int y);
int a,b,c;
。。。中的【int max(int x,int y);】
這個c程式編譯顯示沒有錯誤,為什麼不能執行?
11樓:育知同創教育
引數復必須制是指標(位址
bai)才可du以zhi。 scanf()函式要求參
數必須是指標類dao型,即將位址傳輸到其內,才可以讓a , b變數中獲取到資料。 如果你學過指標,你就會理解了。 c語言中函式的呼叫中,引數傳遞,只能傳遞數值。
如果只是將數值傳遞過去(接收者是形參),在子函式中變化,形參的變化,不會影響到實參資料的內容。 c中,每定義乙個變數,系統都會在記憶體中給其分配乙個空間用來儲存資料。而這個空間的編號就是這個變數的位址。
當我們將這個位址傳遞到子函式中,子函式在運算元據時,就會改變這個位址中的資料,這樣,實參的資料是會發生變化。 而你程式中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作位址去操作,因此會產生系統錯誤,導致程式執行停止。
C語言程式沒有錯誤但執行不了,為什麼我的C語言程式沒有錯誤卻總是不能執行
scanf應該使用 語句修改為 scanf d a i 為什麼我的c語言程式沒有錯誤卻總是不能執行 linking.link fatal error lnk1104 cannot open file debug cpp1.exe 執行 link.exe 時出錯.這個我也抄 遇見過,其實你這段話寫的沒...
為什麼老師用DevC編譯沒有錯誤,同樣我編譯就顯示出錯,是系統問題嗎
一般新人出現這種問題都是符號中英文,缺少符號,變數名錯誤等,仔細檢查。這個c程式編譯顯示沒有錯誤,為什麼不能執行?引數復必須制是指標 位址 bai 才可du以zhi。scanf 函式要求參 數必須是指標類dao型,即將位址傳輸到其內,才可以讓a b變數中獲取到資料。如果你學過指標,你就會理解了。c語...
為什麼vc編譯了以後沒有錯啊,為什麼執行就錯了
你的data都沒有例項,pointer指向誰呢?修改了下 ch stack.h struct data class ch stack ch stack.cpp include ch stack.h const int max len 100 const int empty 1 const int f...