這是C語言編譯的成績篩選程式,為什麼最後輸出是0?怎麼改呢

2021-04-20 03:03:40 字數 665 閱讀 1947

1樓:鯤大鵬

把input函式寫在main函式前面,你的input函式沒有宣告

2樓:匿名使用者

你的input函式有問題啊copy

你只判斷了max況,當你的score小於0的時候,沒有處理,而且也沒有返回

上面估計預設就當你返回0了,因此你最後的時候y=0,而且max是個區域性變數,你每次比較x都是與0比較,並沒有起到每次獲取大值的目的。

main函式中,你應該先判斷x是否小於0,然後呼叫inputinput可以這樣用:

y=y>input(x)?y:input(x);

其實不都不用使用input函式,直接在main中就能實現int main()

printf("最高成績為%d",y);}

c語言程式,為什麼每一行輸出最後一位會出現個0呢?

3樓:倒黴熊

printf("%2d\n");

修改為printf("\n"); ///%d是輸出一個整數,而後面又沒有輸出的整數 所以輸出為0 這裡只是回車

4樓:匿名使用者

#include

void main()

printf("\n");

}}這樣就沒有了

在C程式中呼叫被C編譯器編譯後的函式,為什麼要加extern「C」宣告

簡單來說就是 函式和變數被c 編譯後在符號庫中的名字與c語言的不同,被extern c 修飾的變數和函式是按照c語言方式編譯和連線的。由於編譯後的名字不同,c 程式不能直接呼叫c 函式。c 提供了一個c 連線交換指定符號extern c 來解決這個問題。總之,重點就是c 裡面支援函式的過載,因此編譯...

如何用GCC在linux下編譯C語言程式

在linux下面 bai,如果要編譯 一個c語言源du程式,我們要使zhi用gnu的gcc編譯器,假設我dao們有下面一個非常內簡單的源程式容 hello.c int main int argc,char argv 要編譯這個程式,我們只要在命令列下執行 gcc o hello hello.c gc...

c語言程式編譯成功了,為什麼連線還出錯

1 編譯階段,執行的是對單個檔案的轉換,從源 轉換成二進位制檔案。2 連結階段,將每個原始檔轉成的二進位制檔案,及相關的系統庫檔案共同打包生成可執行檔案。3 從定義上可以看出,連結階段,出現錯誤有兩種可能 1 函式中引用了不存在的函式。2 編譯環境有問題,導致ld出錯。課本上學的,謝謝呀。c語言程式...