c语言中如何比较字符串是否一样
时间: 2023-08-31 18:24:50 浏览: 68
在C语言中比较两个字符串是否相等的方法
### 回答1:
在C语言中,可以使用strcmp函数来比较两个字符串是否相同。该函数的原型为:
```c
int strcmp(const char *str1, const char *str2);
```
其中,str1和str2是要比较的两个字符串,函数返回值为0表示两个字符串相同,返回值大于0表示str1大于str2,返回值小于0表示str1小于str2。例如:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[] = "world";
char str3[] = "hello";
if(strcmp(str1, str2) == 0)
printf("str1 and str2 are the same\n");
else
printf("str1 and str2 are different\n");
if(strcmp(str1, str3) == 0)
printf("str1 and str3 are the same\n");
else
printf("str1 and str3 are different\n");
return 0;
}
```
输出结果为:
```
str1 and str2 are different
str1 and str3 are the same
```
### 回答2:
在C语言中,比较字符串是否一样可以使用strcmp函数。
strcmp函数是C标准库中的字符串比较函数,它位于<string.h>头文件中。该函数接受两个字符串作为参数,并返回一个整数值。如果两个字符串相等,则返回值为0;如果第一个字符串大于第二个字符串,则返回一个正数;如果第一个字符串小于第二个字符串,则返回一个负数。
下面是使用strcmp函数比较字符串的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "hello";
if (strcmp(str1, str2) == 0) {
printf("两个字符串相等\n");
} else {
printf("两个字符串不相等\n");
}
return 0;
}
```
在上述示例代码中,我们使用了strcmp函数比较了两个字符串str1和str2。如果两个字符串相等,则打印输出"两个字符串相等";如果两个字符串不相等,则打印输出"两个字符串不相等"。
注意,strcmp函数比较的是字符串的内容,而不是字符串的地址。所以,即使两个字符串的地址不同,但它们的内容相等,strcmp函数仍然会返回0。
### 回答3:
在C语言中,可以使用strcmp函数来比较两个字符串是否相同。strcmp函数是string compare的缩写,其原型定义在string.h头文件中。
strcmp函数接收两个字符串作为参数,返回一个整数值。当两个字符串完全相同时,返回值为0;当第一个字符串大于第二个字符串时,返回正整数;当第一个字符串小于第二个字符串时,返回负整数。
以下是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "Hello";
int result = strcmp(str1, str2);
if (result == 0) {
printf("字符串相同\n");
} else {
printf("字符串不同\n");
}
return 0;
}
```
在这个例子中,我们声明了两个字符串变量str1和str2,它们的值都是"Hello"。然后,我们使用strcmp函数比较这两个字符串,并将比较结果赋值给result变量。最后,根据result的值来判断两个字符串是否相同,并输出相应的结果。
当我们运行这段代码时,会输出"字符串相同",因为str1和str2的值相同。
需要注意的是,strcmp函数比较的是字符串的内容,而不是字符串的地址。所以即使两个字符串的存储地址不同,只要它们的内容相同,strcmp函数也会返回0。
阅读全文