函数“memset”的隐式声明 [-Wimplicit-function-declaration] [重复]
Posted
技术标签:
【中文标题】函数“memset”的隐式声明 [-Wimplicit-function-declaration] [重复]【英文标题】:implicit declaration of function ‘memset’ [-Wimplicit-function-declaration] [duplicate] 【发布时间】:2016-01-20 10:43:57 【问题描述】:我有以下c代码:
#include<stdio.h>
int main(void)
char buff[10];
memset(buff,0,sizeof(buff));
gets(buff);
printf("\n The buffer entered is [%s]\n",buff);
return 0;
当我运行代码时,我收到以下警告:
warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
我应该如何解决这个问题?
谢谢
【问题讨论】:
memset
在string.h
中声明
请不要使用gets
...
@Michael : $ man memset
【参考方案1】:
添加
#include <string.h>
在文件的顶部。
这是因为这是编译器可以找到memset原型的头文件。
避免使用gets函数...改用scanf或fgets。
看看HERE
【讨论】:
现在我有这个错误:警告:函数'gets'的隐式声明 [-Wimplicit-function-declaration] gets(buff); @Michael:请参阅this answer,了解如何快速轻松地解决此类问题。 @Michael 你删除了 stdio 包括吗?顺便说一句,避免使用该功能...改用scanf 或fgets。看看HERE【参考方案2】:添加
#include <string.h>
memset 在 string.h 中可用
【讨论】:
现在我有这个错误:警告:函数'gets'的隐式声明 [-Wimplicit-function-declaration] gets(buff);以上是关于函数“memset”的隐式声明 [-Wimplicit-function-declaration] [重复]的主要内容,如果未能解决你的问题,请参考以下文章