c语言编写程序,比较两个字符串是否相等(用指针完成)
时间: 2024-01-25 18:02:48 浏览: 72
可以使用指针完成字符串比较,代码如下:
```c
#include <stdio.h>
int strcompare(char *str1, char *str2)
{
while (*str1 != '\0' || *str2 != '\0')
{
if (*str1 != *str2)
{
return 0;
}
str1++;
str2++;
}
return 1;
}
int main()
{
char str1[] = "hello";
char str2[] = "world";
if(strcompare(str1, str2))
{
printf("str1 and str2 are equal\n");
}
else
{
printf("str1 and str2 are not equal\n");
}
return 0;
}
```
在函数strcompare()中,使用while循环遍历两个字符串的每个字符,进行逐一比较。如果发现有字符不一样,就返回0表示不相等,否则遍历结束后返回1表示相等。在主函数中调用strcompare()函数进行字符串比较,并根据返回值输出不同的信息。
相关问题
c语言 编写函数,比较两个字符串是否相等(用指针完成)
可以使用以下代码来比较两个字符串是否相等:
```c
#include <stdio.h>
int compareStrings(char* str1, char* str2) {
while (*str1 == *str2) {
if (*str1 == '\0' || *str2 == '\0')
break;
str1++;
str2++;
}
if (*str1 == '\0' && *str2 == '\0')
return 1; // strings are equal
else
return 0; // strings are not equal
}
int main() {
char str1[100], str2[100];
printf("Enter the first string: ");
scanf("%s", str1);
printf("Enter the second string: ");
scanf("%s", str2);
if (compareStrings(str1, str2))
printf("The strings are equal\n");
else
printf("The strings are not equal\n");
return 0;
}
```
在上面的代码中,我们定义了一个名为 `compareStrings` 的函数来比较两个字符串是否相等。该函数接受两个参数,这两个参数都是指向字符数组的指针。在函数中,我们使用一个 while 循环来比较两个字符串中的每个字符。如果两个字符不相等,则返回 0,表示两个字符串不相等。如果两个字符串中的所有字符都相等,则返回 1,表示两个字符串相等。
在主函数中,我们使用 `scanf` 函数从用户那里获取两个字符串。然后,我们调用 `compareStrings` 函数来比较这两个字符串。如果这两个字符串相等,我们将输出 “The strings are equal”,否则我们将输出 “The strings are not equal”。
c语言编写函数实现两个字符串的比较,即自己写一个strcmp函数。函数原型为int strcmp(char *p1,char *p2);两个字符串相等时返回0,不相等返回两个字符串第一个不相等字符ASCII码之差。(指针实现)完整程序
下面是一个示例程序,实现了自定义的 `strcmp` 函数:
```c
#include <stdio.h>
int strcmp(char *p1, char *p2);
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if (result == 0) {
printf("The two strings are equal.\n");
} else {
printf("The two strings are different. The ASCII difference is %d.\n", result);
}
return 0;
}
int strcmp(char *p1, char *p2) {
while (*p1 == *p2 && *p1 != '\0') {
p1++;
p2++;
}
return (*p1) - (*p2);
}
```
该函数的实现方法是:首先使用一个 while 循环,逐个比较两个字符串的字符是否相等,直到出现不相等的字符或者字符串结束符 '\0'。然后返回两个字符串第一个不相等字符的 ASCII 码值之差。
阅读全文