萌新初學C語言,對當有多個源程式時,如何合并有困惑
我用的編譯器是VS2019,但是今天測驗一個小程式時遇到了這種情況

這里有兩個源檔案,一個是源.c 另一個是max.c max.c寫的是一個max函式
如下
int max(int a, int b)
{
if (a > b)
return a;
else
return b;
}
然后是主函式:
#include<stdio.h>
#include<stdlib.h>
#include"max.h"
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d",max(a, score));
printf("%d",max(b, score));
}
為什么我已經寫了max.c,但是主函式中卻不識別max這個函式??

請問下VS2019 如果運行多個檔案難道還要進行其他操作?不是直接就運行了嗎?
uj5u.com熱心網友回復:
有兩種改法,第一種,將#include"max.h"改成#include"max.c"
第二種,重新創建一個max.h的頭檔案,然后把max函式放到頭檔案中
你出現無法識別的原因是在于你沒有max.h的頭檔案。只有max.c檔案。
uj5u.com熱心網友回復:
你要確保有 max.h 檔案。 然后把max函式宣告 放進這個頭檔案里。或者不用頭檔案, 在主函式上面加 extern int max(int a, int b);uj5u.com熱心網友回復:
追加一個max.h檔案,檔案的內容為int max(int, int);
或者把main.c的#include "max.h"去掉,改成 extern int main(int, int);
uj5u.com熱心網友回復:
沒有寫頭檔案.h呀uj5u.com熱心網友回復:
用extern宣告將max函式的作用域擴展到main()中去,比如extern int max(int a, int b);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/196270.html
標籤:C語言
下一篇:輸入單詞輸出單詞字母數
