2. 用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为
int strcmp(char *p1,char *p2);
设p1指向字符串s1,p2指向字符串s2,要求当s1=s2时,函数返回值为0;如果s1≠s2,返回它们二者第一个不相同字符的ASCII码差值(如“BOY”与“BAD”,第二个字符不相同,“O”与“A”之差为79-65=14).
两个字符串s1,s2由main函数输入,strcmp函数的返回值也由main函数输出。
程序代码:
#include <stdio.h>
int strcmp(char *p1, char *p2) {
while (*p1 != '\0' && *p2 != '\0') {
if (*p1 != *p2) {
return *p1 - *p2;
}
p1++;
p2++;
}
return *p1 - *p2;
}
int main() {
char s1[100], s2[100];
printf("输入第一个字符串: ");
scanf("%s", s1);
printf("输入第二个字符串: ");
scanf("%s", s2);
int result = strcmp(s1, s2);
if (result == 0) {
printf("两个字符串相等\n");
} else {
printf("两个字符串不相等,第一个不相同字符的ASCII码差值为 %d\n", result);
}
return 0;
}
标签:p2,p1,s2,s1,11.13,char,字符串 From: https://www.cnblogs.com/lml66/p/17909386.html