外部函数

赵阳 发布于 2010/11/14 09:40
阅读 126
收藏 1

#include<stdio.h>
void main()
{
 extern void enter_string(char str[]);
 extern void delete_string(char str[],char ch);
 extern void print_string(char str[]);
 char c;
 char str[80];
 enter_string(str);
 scanf("%c",&c);
 delete_string(str,c);
 print_string(str);
}
#include<stdio.h>
void enter_string(char str[])
{
 gets(str);
}
#include<stdio.h>
void delete_string(char str[],char ch)
{
 int i,j;
 for(i=j=0;str[i]!='\0';i++)     
 if(str[i]!=ch)
  str[j++]=str[i];
 str[j]='\0';
}
#include<stdio.h>
void print_string(char str[])
{
 prinf("%s\n",str);
}

提示连接错误,请问错在哪里?找了好几遍都不知道

加载中
0
红薯
红薯

描述不够详细,怎么提示的,是windows还是linux等等得说明清楚哦

这里定义了 extern 外部函数,肯定在编译上需要一些额外的处理。

0
赵阳
赵阳

引用来自#2楼“红薯”的帖子

描述不够详细,怎么提示的,是windows还是linux等等得说明清楚哦

这里定义了 extern 外部函数,肯定在编译上需要一些额外的处理。

这是书本上的一个例题,但是我编辑运行后就出现

Linker Error:Undefined symbol_prinf in  module D:LG822~1.c

在window下,用的是turbo 3.0

0
孟德军
孟德军

_print 是由编译器造成的,vc,bc,gcc等编译机制都不一样,vc在编译的时候,为了区别c和c++的区别,会在前面加一些特殊的符号,比如 _ # @ 等.典型的引入动态库函数时或者编写mfc程序时,这类错误经常出现。

0
赵阳
赵阳

引用来自#4楼“孟德军”的帖子

_print 是由编译器造成的,vc,bc,gcc等编译机制都不一样,vc在编译的时候,为了区别c和c++的区别,会在前面加一些特殊的符号,比如 _ # @ 等.典型的引入动态库函数时或者编写mfc程序时,这类错误经常出现。

 中间有点事,把机子关了,回来重试了下

又可以了

郁闷啊

返回顶部
顶部