C程序不会编译
当我试图编译我的C程序时,终端告诉我:C程序不会编译,c,compiler-errors,C,Compiler Errors,当我试图编译我的C程序时,终端告诉我: 警告:函数“strcopy”的隐式声明无效 C99[-Wimplicit函数声明]strcopy(“测试”、“测试”)中无效 我的代码顶部有#include,所以我很困惑为什么它不会编译。任何帮助都将不胜感激。它清楚地说明了问题所在。您需要使用函数strcpy在标准库中没有被称为strcopy,并且编译器认为相应的隐式声明无效。实际上C99不允许隐式声明——它显示了错误,这就是为什么 其他选项是先定义函数strcopystrcopy,然后在使用它之前定义它
警告:函数“strcopy”的隐式声明无效
C99[-Wimplicit函数声明]strcopy(“测试”、“测试”)中无效代码>
我的代码顶部有#include
,所以我很困惑为什么它不会编译。任何帮助都将不胜感激。它清楚地说明了问题所在。您需要使用函数strcpy
在标准库中没有被称为strcopy
,并且编译器认为相应的隐式声明无效。实际上C99不允许隐式声明——它显示了错误,这就是为什么
其他选项是先定义函数strcopystrcopy
,然后在使用它之前定义它
另一件事是如何使用strcpy,您已经将字符串文本作为参数传递,这是一种未定义的行为。不确定它将起什么作用,因为通常我们将dest
指向的字符串复制到strcpy
中的src
。(src
是第二个参数,dest
是第一个参数)。您的代码中有输入错误:
使用strcpy而不是strcopy,因为strcpy是字符串库提供的功能。那么解决方法是什么?@dmeluban.:使用带有适当参数的strcpy
。man strcpy
会有帮助。@dmeluban.:答案中还提到了其他选项…选择适合的选项you@dmeluban解决办法是从阅读有关的章节开始在继续讨论字符串之前,在C语言书中使用数组和指针。即使修复了错误的函数名,strcpy(“test”,“test”)代码>调用未定义的bahaviour。不能将任何文本复制到字符串文字中。