标题: 隐式声明与内建函数 ‘malloc’ 不兼容?跪求帮忙!
紫健龙魂
新生入学
Rank: 1
注册用户



UID 188767
精华 0
积分 0(积分有什么用?)
帖子 6
阅读权限 10
注册 2007-4-12
状态 离线
发表于 2007-4-12 11:42  资料  个人空间  短消息  加为好友 
隐式声明与内建函数 ‘malloc’ 不兼容?跪求帮忙!

小弟是初学者,今天在Linux下用C编了个小程序:
d4h W"B}'s#include<stdio.h>
qC6MdNXqVint display1(char *string);
$oO)j u ~5gzV        i)a7Kint display2(char *string);
I9XnO-L.lLinux伊甸园论坛www.linuxeden.comC&a @x(K})Q^
int main()/o2ua\#C(M
{
I+y#{,^KtbB%Ta!R
B
   char string[]="Embeded Linux";)vW`j&O0b        X-l-`#B
   display1(string);Linux伊甸园论坛g%?7FwE hnu/UUMh
   display2(string);
T7H%x
\(@7^cwww.linuxeden.com
}L
U#l)paxe"PKJ

int display1(char *string)Linux伊甸园论坛] N;u ?z*J2[nZF
{
#R}        m,~$|E0r"A
~Dg
   printf("The original string is %s \n",string);
c)~0s7`T'Z
A;v
} ]
DGv(Uy5ayeqw        c

int display2(char *string1)_{0`1t,s [m
{dC-z~Y        F
   char *string2;%UO T8P        u
   int size,i;
$eJ/Cz-u   size=strlen(string1);
7[!q
M(al.U kLinux伊甸园论坛
   string2=(char*)malloc(size+1);
M:iD6M
aR!c
   for(i=0;i<size;i++)
$x5i0]h;Xw
MmLinux伊甸园论坛
      string2[size -i]=string1[I];
U;tT5~8`9Ork   string2[size+1]='';
(SWJxlm   printf("The string afterward is %s\n",string2);,{z1w~;af#c`dY
用gcc 编译时,出现:
n&p&`        l-ScIgreet.c: 在函数 ‘display2’ 中:www.linuxeden.com,yoV&o]b6H
greet.c:19: 警告:隐式声明与内建函数 ‘strlen’ 不兼容Linux伊甸园论坛s(d6Rou;g1r9T
greet.c:20: 警告:隐式声明与内建函数 ‘malloc’ 不兼容
2|@6a&qs3[I&cwww.linuxeden.comgreet.c:23:20: 错误:空的字符常量
q4qA&Rkk        X"l$d
9` kG'oHsNN9_小弟第一次接触,请问我该怎么解决?谢谢各位大侠!b5r#^,RDB
A;|)eDi0[9M9d
J

+G9dOorp/R:|h
[/COLOR][/I]

顶部
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-4-12 13:44  资料  个人空间  短消息  加为好友 
初学者更要搞明白基础语法,不要想当然。tJ A4Mr
strlen 和malloc函数的声明中参数和返回值和你给的有出入,所以会警告,不过只要没用错也无所谓。

{A [:~7L[d
string2[size+1]='';这句通常的写法是 string2[size+1]='\0';这样会将string2[size+1]赋成01U{8d'?v4Ic\
0和''可不一样哦。





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
紫健龙魂
新生入学
Rank: 1
注册用户



UID 188767
精华 0
积分 0(积分有什么用?)
帖子 6
阅读权限 10
注册 2007-4-12
状态 离线
发表于 2007-4-12 15:39  资料  个人空间  短消息  加为好友 
问题已经解决了,是缺少man函数,仍然非常感谢这位大哥!

顶部
 



当前时区 GMT+8, 现在时间是 2008-5-17 09:43

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.086321 second(s), 5 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP