用指针的知识判断两个字符串是否相等,不使用strcmp
时间: 2024-03-21 15:42:43 浏览: 54
比较两个字符串是否相等(用指针完成)
可以使用指针逐一比较两个字符串的每个字符,实现代码如下:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
gets(str1);
printf("请输入字符串2:");
gets(str2);
char *p1 = str1, *p2 = str2;
while (*p1 == *p2 && *p1 != '\0' && *p2 != '\0') {
p1++;
p2++;
}
if (*p1 == '\0' && *p2 == '\0') {
printf("两个字符串相等\n");
} else {
printf("两个字符串不相等\n");
}
return 0;
}
```
在这个例子中,使用了两个指针 `p1` 和 `p2` 分别指向两个字符串的首字符,使用循环逐一比较两个指针所指向的字符,当出现不同字符或者两个字符串已经比较完毕时,退出循环。最后判断两个指针所指向的字符是否同时为字符串结束符 `\0`,如果是则表示两个字符串相等,否则不相等。
阅读全文