写一个函数实现两个字符串的比较。即自己写一个stringCompared函数函数原型为:int stringComparedchar p1char p2;设p1指向字符串s1p2指向字符串s2。要求当s1==s2时返回值为0当s1!=s2时返回他们两者第一个不同的字符的ASCII码差值如果s1s2则输出一个正值如果s1s2则输出一个负值。主函数为:int main int m; c
下面是实现上述功能的代码:
#include <stdio.h>
int stringCompared(char *p1, char *p2) {
while (*p1 != '\0' && *p2 != '\0') {
if (*p1 != *p2) {
return *p1 - *p2;
}
p1++;
p2++;
}
return 0;
}
int main() {
int m;
char str1[20], str2[20];
char *p1, *p2;
scanf("%s", str1);
scanf("%s", str2);
p1 = str1;
p2 = str2;
m = stringCompared(p1, p2);
printf("%d", m);
return 0;
}
在主函数中,首先定义了两个字符串数组str1和str2,然后通过scanf函数分别读取两个字符串的输入,再将指针p1和p2分别指向这两个字符串。
接下来调用stringCompared函数,将p1和p2传入。在stringCompared函数中,使用一个循环遍历两个字符串,当遇到第一个不同的字符时,返回它们的ASCII码差值,如果两个字符串完全相同,则返回0。最后在主函数中打印返回值。
注意,这里的比较是按照字符串的字典序进行的,即先比较第一个字符,再比较第二个字符,以此类推。
原文地址: https://www.cveoy.top/t/topic/i1ZD 著作权归作者所有。请勿转载和采集!