开发者社区 问答 正文

为什么在C语言中获取“函数的冲突类型”?

我正在使用以下代码:

char dest[5]; char src[5] = "test";

printf("String: %s\n", do_something(dest, src));

char *do_something(char *dest, const char *src) { return dest; } 这里的实现do_something并不重要。当我尝试编译上面的代码时,出现以下两个异常:

错误:“ do_something”的类型冲突(在printf调用中) 错误:先前的“ do_something”隐式声明在此处(在原型行)

为什么? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 21:59:17 706 分享 版权
1 条回答
写回答
取消 提交回答
  • 您试图在声明之前调用do_something。您需要在printf行之前添加一个函数原型:

    char* do_something(char*, const char*); 或者您需要将函数定义移到printf行上方。在声明函数之前,不能使用它。

    2020-02-08 21:59:26
    赞同 展开评论
问答分类:
问答地址: