LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1745|回复: 3

隐式声明与内建函数 ‘malloc’ 不兼容?跪求帮忙!

[复制链接]
发表于 2007-4-12 11:12:20 | 显示全部楼层 |阅读模式
小弟是初学者,今天在Linux下用C编了个小程序:
#include<stdio.h>
int display1(char *string);
int display2(char *string);

int main()
{
   char string[]="Embeded Linux";
   display1(string);
   display2(string);
}
int display1(char *string)
{
   printf("The original string is %s \n",string);
}
int display2(char *string1)
{
   char *string2;
   int size,i;
   size=strlen(string1);
   string2=(char*)malloc(size+1);
   for(i=0;i<size;i++)
      string2[size -i]=string1;
   string2[size+1]='';
   printf("The string afterward is %s\n",string2);
用gcc 编译时,出现:
greet.c: 在函数 ‘display2’ 中:
greet.c:19: 警告:隐式声明与内建函数 ‘strlen’ 不兼容
greet.c:20: 警告:隐式声明与内建函数 ‘malloc’ 不兼容
greet.c:23:20: 错误:空的字符常量

小弟第一次接触,请问我该怎么解决?谢谢各位大侠!
发表于 2007-4-12 12:26:49 | 显示全部楼层
Post by 紫健龙魂

小弟第一次接触,请问我该怎么解决?

你应该好好看书
回复 支持 反对

使用道具 举报

发表于 2007-4-12 12:42:37 | 显示全部楼层
试试man 这个命令
终端下输入man strlen回车,你就可以看到要用strlen,需要include哪些头文件
同样的再看看man malloc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-12 15:42:39 | 显示全部楼层
2贴兄弟,您批评的是,我确实应该好好看书,谢谢!
3贴大哥,非常感谢,在您的帮助下,我找到了解决办法,用了两个MAN函数。问题搞定!谢谢啊!感激不尽!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表