c语言编写程序,比较两个字符串是否相等(用指针完成)
时间: 2024-01-25 13:02:48 浏览: 25
可以使用指针完成字符串比较,代码如下:
```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语言判断两个字符串是否相等
C语言中判断两个字符串是否相等的方法有几种。一种常用的方法是使用strcmp函数进行比较。strcmp函数可以比较两个null-terminated的字符串是否相等。如果两个字符串相等,strcmp函数返回0;如果不相等,返回非零值。另外一种方法是使用memcmp函数进行比较。memcmp函数可以比较任意两个字符数组是否相等。
下面是使用strcmp函数进行比较的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main(void) {
char str1[] = "hello";
char str2[] = "hello";
if (strcmp(str1, str2) == 0) {
printf("The two strings are equal.\n");
} else {
printf("The two strings are not equal.\n");
}
return 0;
}
```
注意,以上代码是比较两个字符数组是否相等,而不是比较字符串常量和字符数组。如果要比较两个字符串常量,需要使用字符指针。