写一个函数,实现两个字符串的比较。函数原型为: int strcmp(char*p1 , char* p2); 要求:当字符串相等时,返回0 当字符串不相等时,返回它们两者第一个不同字符的Ascii码差值
时间: 2023-06-16 12:02:52 浏览: 104
以下是实现两个字符串比较的函数:
```c
int strcmp(char* p1, char* p2) {
while (*p1 && *p2 && (*p1 == *p2)) { //比较两个字符串中对应位置的字符
p1++;
p2++;
}
return *p1 - *p2; //返回两个字符串第一个不同字符的Ascii码差值
}
```
在主函数中可以这样使用:
```c
#include <stdio.h>
int strcmp(char* p1, char* p2);
int main() {
char str1[] = "hello";
char str2[] = "hello";
char str3[] = "world";
int result1 = strcmp(str1, str2); //字符串相等,结果为0
int result2 = strcmp(str1, str3); //字符串不相等,结果为-15
printf("result1 = %d\n", result1);
printf("result2 = %d\n", result2);
return 0;
}
int strcmp(char* p1, char* p2) {
while (*p1 && *p2 && (*p1 == *p2)) { //比较两个字符串中对应位置的字符
p1++;
p2++;
}
return *p1 - *p2; //返回两个字符串第一个不同字符的Ascii码差值
}
```
阅读全文