C语言编程?

字符串的大小比较是编程语言里常用的功能,现试着编程运用指针实现两个字符串按字典序大小比较。要求将字符串比较大小的功能做成单独的函数,并在main函数里调用。编程提示:(1... 字符串的大小比较是编程语言里常用的功能,现试着编程运用指针实现两个字符串按字典序大小比较。要求将字符串比较大小的功能做成单独的函数,并在main函数里调用。
编程提示:
(1)确定字符串比较函数的形式:int strcompare(const char * str1, const char * str), 当str1>str2时返回一个正整数,str1==str2时返回0,str1<str2时返回负整数;
(2)strcompare的思路:定义两个char *指针p和q,分别指向str1,str2,开始循环,循环条件表达式为*p == *q && *q != ‘\0’ && *p != ‘\0’,循环体为 p++; q++;。当循环条件不满足时,跳出循环,这代表:
1)p,q指向了两个字符串第一个不相同的字符;
2)str1字符串或者str2字符串到达了字符串结束字符’\0’,此时返回判断p和q指向的字符的大小即可
展开
 我来答
匿名用户
2020-04-26
展开全部

#include <stdio.h>

#include <string.h>

int main()

{

int i,result;

char s1[15],s2[10];

printf("please input string1:\n");

gets(s1);

printf("please input string2:\n");

gets(s2);

i=0;

while(s1[i]==s2[i]&&s1!='\0') i++;//当s1、s2相同字符时且s1!='\0'时进入循环

if(s1[i]=='\0'&&s2=='\0')//s1、s2所有字符比较完毕都相等

result = 0;

else

result =s1[i]-s2[i];//s1、s2某个字符不相等,输出结果

printf("The result of comparing two strings is %d\n",result);

return 0;

}


#include <stdio.h>

int strcompare(char *p1,char *p2)

{

int i;

for(i=0;p1[i]!='\0'&&p2[i]!='\0';i++)

if(p1[i]!=p2[i])//两个字符串长度相同时,其中某个字符不同

return (p1[i]-p2[i]);

if(p1[i]=='\0'&&p2[i]=='\0')//两个字符串长度相同时且所有字符相同

return 0;

else

return (p1[i]-p2[i]);//两个字符串长度不相等且某个字符不同

}

int main()

{

char s1[15],s2[10];

printf("please input string1:\n");

gets(s1);

printf("please input string2:\n");

gets(s2);

printf("The result of comparing two strings is %d\n",strcompare(s1,s2));

return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式