【编写C语言程序】请用指针编程实现:写一个函数,实现两个字符串的比较。即自己写一个strcmpa函数,函数原型为:int strcmpa(char *p1,char *p2),若两个字符串相等则返
时间: 2025-01-01 18:36:06 浏览: 14
当然可以,下面是一个简单的C语言指针实现的`strcmpa`函数,用于比较两个字符串:
```c
#include <stdio.h>
#include <string.h>
// 自定义strcmpa函数
int strcmpa(char* p1, char* p2) {
// 指针初始化,指向第一个字符
int i = 0;
while (p1[i] != '\0' && p2[i] != '\0') { // 只遍历到字符串结束
if (p1[i] != p2[i]) {
return p1[i] - p2[i]; // 如果字符不相等,返回它们的ASCII差值
}
i++;
}
// 都遍历到结束且内容相同,则返回0表示相等
if (p1[i] == '\0' && p2[i] == '\0')
return 0;
// 若有一个字符串提前结束,说明长度不同,非零值表示长度较长的那个字符串较大
return (p1[i] == '\0') ? -1 : 1;
}
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmpa(str1, str2);
if (result == 0)
printf("The strings are equal.\n");
else if (result < 0)
printf("'%s' is less than '%s'.\n", str1, str2);
else
printf("'%s' is greater than '%s'.\n", str1, str2);
return 0;
}
```
阅读全文