浙江理工大学入队200题——19N
问题 N: 习题8-17 字符串比较
题目描述
自己写一个函数实现字符串比较,指定函数原型如下:
int StrCmp(char *s1, char * s2);
若s1和s2完全一样,则返回0,否则返回二者第一个不同字符的ASCII码的差值(如"BOY"和"BAD",第一个字符一样,则比较第二个字符,第二个字符'O'与'A'不同,则计算此字符ASCII码之差79-65=14)。如果s1>s2,输出结果为正值,如果s1<s2,则输出结果为负值。
在main函数中输入两个字符串,调用该函数,得到两个字符串大小关系。输出其ASCII码之差。
输入
输入分两行,每行一个字符串(以回车结束)
输出
一个整数,单独占一行。表示两个字符串之差。
样例输入 Copy
BOY
BAD
样例输出 Copy
14
题解
没啥解释,这里没坑,唯一注意的是字符数组结尾自动'\0'
代码(AC)
点击查看代码
#include<stdio.h>
int StrCmp(char*s1, char *s2)
{
int i=0,y;
while(*(s1+i)!='\0'&&*(s2+i)!='\0'&&(*(s1+i)==*(s2+i)))
{
i++;
}
return *(s1+i)-*(s2+i);
}
int main()
{
int StrCmp(char *s1, char *s2);
char str1[20],str2[20];
char *p,*q;
gets(str1);
gets(str2);
p=str1,q=str2;
printf("%d\n",StrCmp(p,q));
return 0;
}
本文来自博客园,作者:shany212,转载请注明原文链接:https://www.cnblogs.com/codeshany/p/zstu_200_19N.html