C程序不会编译

时间:2018-02-06 02:49:44

标签: c compiler-errors

当我尝试编译我的C程序时,终端告诉我:

warning: implicit declaration of function 'strcopy' is invalid in C99 [-Wimplicit-function-declaration]strcopy("test","test");

我的代码顶部有#include <string.h>,所以我很困惑为什么它不能编译。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:6)

它清楚地说明问题是什么。您需要使用函数strcpy标准库中没有任何名为strcopy的函数 - 并且编译器考虑的相应隐式声明无效 - 它抱怨。实际上C99不允许隐式声明 - 它显示错误就是原因。

其他选项是取消函数strcopy,然后在使用它之前定义它。

另外一件事是你如何使用strcpy - 你已经作为两个参数传递了字符串文字修改哪个是未定义的行为。不确定它的用途是什么,因为我们通常会将dest指向的字符串复制到src中的strcpy。 (src是第二个参数,dest是第一个参数。)

答案 1 :(得分:0)

你的代码中有拼写错误: 使用strcpy而不是strcopy,因为strcpy是字符串库提供的。