用c语言实现,用一个函数实现两个字符串的比较,自定义compare函数已给出,编写main函数:设p1指向字符串s1,p2指向字符串s2.要求当两个字符相同时返回0,若两个字符串不相等,则返回它们二者第一个不同字符的ASCII码的差值。两个字符串s1,s2由主函数输入,compare函数的返回值也由主函数输出。 int compare(char*p1,char*p2) { int i; for(i=0;*(p1+i)!='\0';i++) if(*(p1+i)!=*(p2+i)) break;//不相等,循环结束 return*(p1+i)-*(p2+i);
时间: 2023-07-15 16:10:40 浏览: 80
以下是实现代码:
```c
#include <stdio.h>
int compare(char* p1, char* p2) {
int i;
for (i = 0; *(p1 + i) != '\0'; i++)
if (*(p1 + i) != *(p2 + i))
break; //不相等,循环结束
return *(p1 + i) - *(p2 + i);
}
int main() {
char s1[100], s2[100];
printf("请输入字符串s1:");
scanf("%s", s1);
printf("请输入字符串s2:");
scanf("%s", s2);
int result = compare(s1, s2);
if (result == 0)
printf("两个字符串相等\n");
else
printf("两个字符串不相等,它们二者第一个不同字符的ASCII码的差值为:%d\n", result);
return 0;
}
```
主要思路是通过循环比较两个字符串的每一个字符,当遇到不相等的字符时,退出循环并返回它们二者第一个不同字符的ASCII码的差值。如果两个字符串完全相等,则返回0。在main函数中,我们首先输入两个字符串,然后调用compare函数进行比较,最后根据返回值输出结果。
阅读全文