社区
新手乐园
帖子详情
菜鸟求助!怎样用编写程序来实现strcmp的功能!
MOTOGP
2006-03-28 02:12:45
现在不用strcmp函数,用自己编写的程序来实现这个函数的功能!
...全文
342
7
打赏
收藏
菜鸟求助!怎样用编写程序来实现strcmp的功能!
现在不用strcmp函数,用自己编写的程序来实现这个函数的功能!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yinqing_yx
2006-03-31
打赏
举报
回复
int strcmp(char *lhs, const char *rhs)
{
assert(lhs != NULL && rhs != NULL);
while((*lhs != '\0') && (*lhs == *rhs))
{
lhs++;
rhs++;
}
return *lhs - *rhs;
}
「已注销」
2006-03-31
打赏
举报
回复
实现很容易,就是效率问题
lei001
2006-03-31
打赏
举报
回复
比较起来是容易,主要还是考虑效率的
jixingzhong
2006-03-30
打赏
举报
回复
strcmp函数 ...
就是传入的两个串逐个字符比较啊 ...
zh2817
2006-03-28
打赏
举报
回复
#include<iostream>
using namespace std;
void strcopy(char *to,const char *from)
{
while(*to++=*from++);
}
void main()
{
char a[20]="hello,China!";
char *b=new char[20];
strcopy(b,a);
cout<<b<<'\n';
delete b;
}
逸学堂
2006-03-28
打赏
举报
回复
//==============================Start Ustrncat=========================================
/*
// 函数名:Ustrncat
// 输入参数:字符串str1(字符串目的),字符串str2(字符串源)
// 输出参数:目的字符串的头指针
// 描述:把字符串str2内容复制给str1
char aa[100];
char *bb = "aaaaaaa";
memset(aa,0,100);
cout << strcpy(aa,bb) << endl;
cout << Ustrcat(aa,bb,10) << endl;
// 分析:Ustrncat函数可以自行指定字符串str2拷贝到str1中的字符数量(count)。count要在外部测试
防止出现内存错误,溢出。参考Ustrcat。
*/
char* Ustrncat(char *str1, const char* str2,int count)
{
// 保留头指针
char *pTemp = str1;
// 指向头字符串的尾部
while((*str1++) != '\0');
--str1;
int i;
// 安count进行复制
for(i = 0; i < count; ++i)
{
*str1++ = *str2++;
}
// 末尾加结束标志
*str1 = '\0';
// 返回头指针
return pTemp;
}
//==============================END Ustrncat=========================================
//==============================Start Ustrcmp=========================================
/*
// 函数名:Ustrcmp
// 输入参数:两个字符串
// 输出参数:字符串对比长度
// 描述:两个字符串相等,
// 输入值 返回值
// "1234" -> 4
// "-1234" -> 4
// 测试用例
// char p[] = "-234yaasaa";
// int i = Ustrlen(p);
// 分析:字符串匹配,各个字符对比。
*/
int Ustrcmp(const char *sourstr,const char *str)
{
if(sourstr == NULL)
{
return -1;
}
if(str == NULL)
{
return 1;
}
// 查找字符结束符号,如果是strncmp函数,结束标志可以用n的数量控制
while((*sourstr) == (*str) && (*sourstr) != '\0')
{
++sourstr;
++str;
}
// 判断当前是否到字符串末尾
if((*sourstr) == '\0' && (*str) != '\0')
{
return -1;
}
return (sourstr) - (*str);
////
//if((*sourstr) > (*str))
//{
// return 1;
//}
//else if((*sourstr) < (*str))
//{
// return -1;
//}
//// 返回字符串大小
//return 0;
}
//==============================End Ustrcmp=========================================
goodluckyxl
2006-03-28
打赏
举报
回复
到ms的crt下找下就知道了
int __cdecl strcmp (
const char * src,
const char * dst
)
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}
c语言中定义符号常量n为5的定义是什么,【C语言】C语言基础知识概念
break语句:放在循环体内
实现
的
功能
是结束其所在的那层循环的执行。 十、数组 定义格式:数据类型 数组名[整型常量];如 int a[10];定义了一个整型数组,数组名为a,这个数组含有10个元素。 引用数组元素: ...
PAT
这里写自定义目录标题欢迎使用Markdown编辑器新的改变
功能
快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
第二章:WINDOWS的一些技巧
第二章:WINDOWS的一些技巧 ....用电脑听CD可以不用任何的播放软件,把音箱线直接接到光驱的耳机孔,放入 CD,按光驱上的play键就可以直接听了,这样听歌可以不占用系统资源。 4.MSN中发消息的时候是按enter的
华为面试题集锦
1、 不使用库函数,编写函数int
strcmp
(char *source, char *dest) 相等返回0,不等返回-1; 方法2: #include #include main() { char str[]="hello,world"; int len=strlen...
Frida Hook 常用函数、java 层 hook、so 层 hook、RPC、群控
From:Frida hook 常用函数分享:https://www.52pojie.cn/thread-1196917-1-1.html From:Frida Hook Android 常用方法:https://blog.csdn.net/zhy025907/article/details/89512096 ... Frida 使用:https://z...
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章