警告:内置函数 'strlen' 和 'strcpy' 的隐式声明不兼容
warning: incompatible implicit declaration of built-in function 'strlen' and 'strcpy'
我刚刚完成了我的刽子手游戏,作为最后一步,我正在做一些代码清理和优化,但我似乎无法理解为什么我会收到以下两个警告:
警告:内置函数的隐式声明不兼容'strlen'
警告:内置函数的隐式声明不兼容'strcpy'
使用它们的代码在这里:
for(i = 1; i <= random; i++)
fgets(word, 100, f);
fclose(f);
for(i = 0; i < strlen(word); i++)
if(word[i] == '\n')
word[strlen(word)-1] = '[=12=]';
lungime = strlen(word);
strcpy(word2, word);
我所做的是使用 fgets 从文件中随机读取一个单词。在此之后,我删除了 fgets 自动放置的 '\n'。最后把word2里面的单词复制了一份
使用的库:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
变量声明:
int random, n = 0, i, j, lengh, tries = 5, ok = 0, error = 0;;
char word[100], word2[100], tried_letters[50], auxch;
注意:在我的程序中一切正常,但我收到了这两个警告,我想删除它们。
提前致谢。
您需要使用
#include <string.h>
得到strcpy()
和strlen()
我刚刚完成了我的刽子手游戏,作为最后一步,我正在做一些代码清理和优化,但我似乎无法理解为什么我会收到以下两个警告:
警告:内置函数的隐式声明不兼容'strlen'
警告:内置函数的隐式声明不兼容'strcpy'
使用它们的代码在这里:
for(i = 1; i <= random; i++)
fgets(word, 100, f);
fclose(f);
for(i = 0; i < strlen(word); i++)
if(word[i] == '\n')
word[strlen(word)-1] = '[=12=]';
lungime = strlen(word);
strcpy(word2, word);
我所做的是使用 fgets 从文件中随机读取一个单词。在此之后,我删除了 fgets 自动放置的 '\n'。最后把word2里面的单词复制了一份
使用的库:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
变量声明:
int random, n = 0, i, j, lengh, tries = 5, ok = 0, error = 0;;
char word[100], word2[100], tried_letters[50], auxch;
注意:在我的程序中一切正常,但我收到了这两个警告,我想删除它们。
提前致谢。
您需要使用
#include <string.h>
得到strcpy()
和strlen()