标题:【解决了一半】incompatible implicit declaration of built-in function ‘ ...
只看楼主
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
结帖率:100%
已结贴  问题点数:20 回复次数:6 
【解决了一半】incompatible implicit declaration of built-in function ‘printf’ [enabled
老谭的教程,第七章第20个例题:7-20
一个程序分为四个源文件,分别为file1.c file2.c file3.c file4.c
file1.c
  1 # include <stdio.h>
  2 # include <string.h>
  3 # include <unistd.h>
  4
  5 int main(void)
  6 {
  7     extern void enter_string(char str[]);
  8     extern void delete_string(char str[], char ch);
  9     extern void print_string(char str[]);
 10
 11     char c;
 12     char str[80];
 13
 14     printf("please enter a string!\n");
 15     enter_string(str);
 16     printf("请输入一个需要匹配的字符!\n");
 17     scanf("%c", &c);
 18     printf("删除字符后的字符串如下:\n");
 19     delete_string(str, c);
 20     print_string(str);
 21
 22     return 0;
 23 }
file2.c
  1 void enter_string(char str[80])
  2 {
  3     gets(str);
  4
  5     return ;
  6 }

file3.c   
 1 void delete_string(char str[], char ch)
  2 {
  3     int i, j;
  4
  5     for (i = j = 0; str[i] != '\0'; i++)
  6     {
  7         if (str[i] != ch)
  8         {
  9             str[j++] = str[i];
 10         }
 11     }
 12
 13     str[j] = '\0';
 14
 15     return ;
 16 }

file4.c        

  1 void print_string(char str[])
  2 {
  3 //    printf("%s\n", str);      //原书用printf函数,编译出错  
  4     puts(str);                   //使用puts(str)可以通过编译,正确输出
  5
  6     return ;
  7 }
~        
//warning: incompatible implicit declaration of builtin function ‘printf’ [enabled by default]



[此贴子已经被作者于2016-10-13 19:30编辑过]

搜索更多相关主题的帖子: function enabled include please 源文件 
2016-10-13 19:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
#include <stdio.h>
2016-10-13 19:25
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
得分:0 
回复 2楼 rjsp
在file1.c中已经包含了这个头文件了啊
2016-10-13 19:28
worldlc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:117
注 册:2016-10-13
得分:10 
这只是个警告,应该不影响 编译
2016-10-13 19:31
worldlc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:117
注 册:2016-10-13
得分:0 
还有  自定义 函数没有申明 。(基础 重要!)

何必分  成 几个文件  最后 一个个 编译 在 链接去。(6666666666)
2016-10-13 19:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用hm605538951在2016-10-13 19:28:51的发言:

在file1.c中已经包含了这个头文件了啊

file4.c 没有呀
不知道你是怎么想的,难道我的代码中包含,你的代码就不需要包含了?编译的单元是文件
2016-10-13 19:57
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
得分:0 
回复 6楼 rjsp
谢谢

[此贴子已经被作者于2016-10-14 15:58编辑过]

2016-10-14 15:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469740-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.279820 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved