编写strcmp函数的实现一个程序,实现两字符串的比较,不能使用库函数strcmp

共有 4740 人关注过本帖
标题:【问题请教】c语言两个字符串比较大小的问题,不使用strcmp函数
等 级:新手上路
帖 子:28
结帖率:50%
&&已结贴√
&&问题点数:20&&回复次数:3&&&
【问题请教】c语言两个字符串比较大小的问题,不使用strcmp函数
将两个字符串s1,s2比较,如果s1&s2,输出一个正数;s1&s2输出一个负数,s1=s2,输出0。输出的正数或负数的绝对值应是比较的两个字符串的ASCII码的差值。例如‘A'与'C'的ASCII的差值为2,因此输出为‘-2’,不能使用strcmp函数。程序代码:int main()
&&&&&&&&char str1[80],str2[80];
&&&&&&&&int i=0,r;
&&&&&&&&puts(&input string1:&);
&&&&&&&&gets(str1);
&&&&&&&&puts(&input string2:&);
&&&&&&&&gets(str2);
&&&&&&&&while((str1[i]==str2[i])&&(str1[i]!='\0')) //如果两个对应字符相等,且两字符串都没有结束,则i++,继续判断下一个字符;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//否则,只要两个字符不相等,或者任意字符串已经结束,则不再进行下一个字符的判断。
&&&&&&&&&&&&i++;&&&&&&
&&&&&&&&if(str1[i]=='\0'&&str2[i]=='\0')&&& //如果同时结束,则相等
&&&&&&&&&&&&r=0;
&&&&&&&&else
&&&&&&&&&&&&r=str1[i]-str2[i];
&&&&&&&&printf(&result:%d.\n&,r);
&&& return 0;
while((str1[i]==str2[i])&&(str1[i]!='\0'))
我理解必须加上红色字体来判断字符串是否已经结束,但是这里为什么写的是str1,而不是str2呢?谢谢。
搜索更多相关主题的帖子:
来 自:女儿国的隔壁
等 级:贵宾
威 望:22
帖 子:2189
专家分:6080
程序代码:
for(...) sum1 += s1[i];//字符串1的ASCII和
for(...) sum2 += s2[i];//字符串2的....
比较sum1,sum2,输出!
仰望星空...........不忘初心!
等 级:千里冰封
帖 子:1554
专家分:10000
1和2是同等地位的
控制系统中的C是怎么样的?欢迎来群一起交流进步
等 级:蜘蛛侠
帖 子:209
专家分:1054
两个同等地位
埋头做牛,抬头做人,低头做狗
版权所有,并保留所有权利。
Powered by , Processed in 0.019634 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved当前位置: >
如果在C程序中要用到库函数中的字符串比较函数strcmp(),那么在程序前面应该添加的头文件是(()& )。A.stdio.h&& B.string,h C.alloc.h& D.math.H如果在C程序中要用到库函数中的字符串比较函数strcmp(),那么在程序前面应该添加的头文件是(()& )。A.
stdio.h&& B.
string,h C.
所属学科:
试题类型:客观题
所属知识点:
试题分数:1.0 分
暂未组卷。
暂无学习笔记。
&&&&&&&&&&&&&&&希赛网 版权所有 & &&&&增值电信业务经营许可证湘B2-如何编写一个strcmp函数实现两个字符串的比较?
如何编写一个strcmp函数实现两个字符串的比较?
08-10-14 &
看是什么语言,有些语言已经内置了。
请登录后再发表评论!
int stringcmp(char *s1,char *s2) { while(*s1||*s2) //如果S1和S2比较完毕 (‘\\0’)跳出循环; { if(*s1-*s2) //判断S1和S2对应的字符是不是不同; return *s1-*s2; //如果不同,返回S1和S2的ASCII之差; else // 如果相同,让指针指向S1和S2的下一个字符比较 { s2++; s1++; } } return 0; // S1和S2相等的时候返回0; }
请登录后再发表评论!
看是什么语言
请登录后再发表评论!
C++的两种写法,在DEV4.9.9.2下编译均通过。int strcmp1 ( const char* src, const char* dst )   {       int ret = 0 ;       while( !(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)           ++src, ++       if ( ret & 0 )           ret = -1 ;       else if ( ret & 0 )          ret = 1 ;       return( ret );   }   int strcmp2(const char *dest, const char *source){        
    while (*dest && *source && (*dest == *source))           {                    dest ++;                   source ++;           }     return *dest - *}
请登录后再发表评论!输入两个字符串,编一个程序实现strcmp()函数 - 下载频道 - CSDN.NET
&&&&输入两个字符串,编一个程序实现strcmp()函数
&输入两个字符串,编一个程序实现strcmp()函数
输入两个字符串,编一个程序实现strcmp()函数
#include &stdio.h&
#include &string.h&
#define N 100
char a[N],b[N];
printf(&input a[] and b[]:\n&);
for(i=0;i&N;i++)
if(a[i]==b[i])
else if(a[i]&b[i]) {printf(&a&b&);}
else if(a[i]&b[i]) {printf(&b&a&);}
if(i==N) printf(&a==b&);
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
课程资源下载排行
积分不够下载该资源
如何快速获得积分?
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
输入两个字符串,编一个程序实现strcmp()函数
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:

我要回帖

更多关于 编写strcmp 的文章

 

随机推荐