标题:一个小题目实现 strcpy strlen strcmp strcat 的最简函数,小弟先写,只求 ...
只看楼主
醉酒大哥
Rank: 1
等 级:新手上路
帖 子:21
专家分:5
注 册:2010-12-10
结帖率:83.33%
已结贴  问题点数:20 回复次数:3 
一个小题目实现 strcpy strlen strcmp strcat 的最简函数,小弟先写,只求最简

void mycat(char *s1, char *s2)
{
 while(*s1++);
 s1--;
 while(*s1++ = *s2++);
}

void mycpy(char *s1, char *s2)
{
 while(*s1++ = *s2++);
}

int mycmp(char *s1,char *s2)
{
 char *s=s1,*t=s2;
 for( ; *s == *t;s++,t++)
     if(*s == 0) return 0;
 return *s - *t;
}

int mylen(char *s1)
{
 char *p = s1;
 while(*p++);
 return p - s1 ;
}
搜索更多相关主题的帖子: void return 
2011-01-19 22:13
醉酒大哥
Rank: 1
等 级:新手上路
帖 子:21
专家分:5
注 册:2010-12-10
得分:0 
传说中的最简啊………………

爱情扶我上路 然后走开
让我一辈子怀念
怀念那一扶的久长和一辈子的短暂
2011-01-19 22:18
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
得分:0 
以下是引用醉酒大哥在2011-1-19 22:13:36的发言:


void mycat(char *s1, char *s2)
{
 while(*s1++);
 s1--;
 while(*s1++ = *s2++);
}

void mycpy(char *s1, char *s2)
{
 while(*s1++ = *s2++);
}

int mycmp(char *s1,char *s2)
{
 char *s=s1,*t=s2;
 for( ; *s == *t;s++,t++)
     if(*s == 0) return 0;
 return *s - *t;
}

int mylen(char *s1)
{
 char *p = s1;
 while(*p++);
 return p - s1 ;
}
mycmp不是最简,两个多余的变量

樱之雪,晓之车
2011-01-19 22:19
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
得分:20 
template <class any,typename any1>//class 也可以换成typename
void mycat(any *s1, any1 *s2)
{
while(*s1++);
s1--;
while(*s1++ = *s2++);
}

...
         

小代码,大智慧
2011-01-19 22:23



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




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

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