2. 编写一个程序,其中用户自定义函数strcompare函数实现两个字符串s1,s2的比较,函数原型声明为:int strcompare( char *str1 , char *str2 ) ; 分别有如下要求: (1)调用函数时实参用数组名,函数形参用指针变量。 (2)调用函数时实参和函数形参都用指针变量。 (3)调用函数时实参用指针变量,函数形参用数组名。 [注]: (1)要求当s1== s2时,函数返回值为0;如果s1≠ s2,返回它们二者第一个不相同字符的ASCII码差值(如“BOY”与“BAD
时间: 2024-02-18 08:59:30 浏览: 197
用一个函数实现两个字符串的比较,即自己写一个 strcmp 函数
好的,这是一个简单的字符串比较程序,我帮您实现一下:
```c
#include <stdio.h>
int strcompare1(char *str1, char *str2);
int strcompare2(char *str1, char *str2);
int strcompare3(char str1[], char str2[]);
int main()
{
char s1[100], s2[100];
printf("请输入两个字符串:\n");
scanf("%s %s", s1, s2);
printf("使用方法1比较结果:%d\n", strcompare1(s1, s2));
printf("使用方法2比较结果:%d\n", strcompare2(s1, s2));
printf("使用方法3比较结果:%d\n", strcompare3(s1, s2));
return 0;
}
int strcompare1(char *str1, char *str2)
{
while (*str1 == *str2) {
if (*str1 == '\0') {
return 0;
}
str1++;
str2++;
}
return *str1 - *str2;
}
int strcompare2(char *str1, char *str2)
{
while (*str1 != '\0' && *str2 != '\0' && *str1 == *str2) {
str1++;
str2++;
}
return *str1 - *str2;
}
int strcompare3(char str1[], char str2[])
{
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0' && str1[i] == str2[i]) {
i++;
}
return str1[i] - str2[i];
}
```
我们实现了三个不同的字符串比较函数,分别用了不同的调用方法,可以根据实际需求选择。
阅读全文