/

如何解決C語言中的隱式聲明庫函數警告

如何解決C語言中的隱式聲明庫函數警告

學習如何解決C語言中的隱式聲明庫函數警告

在編譯C語言程序時,你可能會發現編譯器給出了類似以下的警告:

1
2
3
4
5
hello.c:6:3: warning: implicitly declaring library function
'printf' with type 'int (const char \*, ...)'
[-Wimplicit-function-declaration]
printf("Name length: %u", length);
^

或者

1
2
3
4
5
hello.c:5:16: warning: implicitly declaring library function
'strlen' with type 'unsigned long (const char \*)'
[-Wimplicit-function-declaration]
int length = strlen(name);
^

這個問題是因為你在使用標準庫的函數之前沒有包含相應的頭文件。

編譯器還會給你一個建議,如下所示:

1
2
hello.c:5:16: note: include the header <string.h> or
explicitly provide a declaration for 'strlen'

該建議指出了正確的方向。

在這種情況下,在C文件的頂部添加

1
#include <stdio.h>

將解決問題。

tags: [“c語言”, “库函数”, “警告”, “隐含声明”]