当我尝试编译我的C程序时,终端告诉我:
warning: implicit declaration of function 'strcopy' is
invalid in C99 [-Wimplicit-function-declaration]strcopy("test","test");
我的代码顶部有#include <string.h>
,所以我很困惑为什么它不能编译。任何帮助将不胜感激
答案 0 :(得分:6)
它清楚地说明问题是什么。您需要使用函数strcpy
标准库中没有任何名为strcopy
的函数 - 并且编译器考虑的相应隐式声明无效 - 它抱怨。实际上C99不允许隐式声明 - 它显示错误就是原因。
其他选项是取消函数strcopy
,然后在使用它之前定义它。
另外一件事是你如何使用strcpy
- 你已经作为两个参数传递了字符串文字修改哪个是未定义的行为。不确定它的用途是什么,因为我们通常会将dest
指向的字符串复制到src
中的strcpy
。 (src
是第二个参数,dest
是第一个参数。)
答案 1 :(得分:0)
你的代码中有拼写错误: 使用strcpy而不是strcopy,因为strcpy是字符串库提供的。