c语言比较字符串是否相同
时间: 2024-10-14 14:10:41 浏览: 51
在C语言中,比较两个字符串是否相等并不直接像比较整数或浮点数那样简单,因为字符串是以字符数组的形式存在的,需要遍历每个字符逐个比较。可以使用库函数`strcmp()`来进行这种比较。这个函数在`string.h`头文件中定义,其原型如下:
```c
int strcmp(const char* str1, const char* str2);
```
函数的工作原理是,从第一个字符开始比较,如果遇到`'\0'`结束标志,就停止比较。如果所有的对应字符都相同,那么字符串被认为是相等的;如果有任何一个字符不同,则返回一个整数值表示它们的相对顺序。
例如:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if (result == 0) {
printf("两个字符串相同.\n");
} else if (result < 0) {
printf("str1小于str2.\n");
} else {
printf("str1大于str2.\n");
}
return 0;
}
```
在这个例子中,`strcmp(str1, str2)`会返回负数,因为"hello"确实小于"world",所以会打印出"str1小于str2"。
相关问题
C语言实现字符串相同比较
在C语言中,可以使用strcmp函数来比较两个字符串是否相同。strcmp函数的原型如下:
```c
int strcmp(const char *s1, const char *s2);
```
该函数接受两个字符串作为参数,并返回一个整数值。如果两个字符串相同,返回值为0;如果第一个字符串比第二个字符串小,返回值为负数;反之,如果第一个字符串比第二个字符串大,返回值为正数。
下面是一个简单的示例程序,用于比较两个字符串是否相同:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
if (strcmp(str1, str2) == 0)
printf("两个字符串相同\n");
else
printf("两个字符串不相同\n");
return 0;
}
```
在上面的示例中,我们使用了strcmp函数来比较两个字符串是否相同。如果返回值为0,则表示两个字符串相同。如果返回值不为0,则表示两个字符串不同。
C语言比较两个字符串是否相同
在C语言中,我们可以使用strcmp函数来比较两个字符串是否相同。
strcmp函数的原型如下:
```c
int strcmp(const char *s1, const char *s2);
```
其中,s1和s2分别是要比较的两个字符串。
如果两个字符串相同,strcmp函数返回值为0。如果s1小于s2,返回值小于0。如果s1大于s2,返回值大于0。
下面是一个例子:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100] = "Hello";
char str2[100] = "Hello";
int result = strcmp(str1, str2);
if(result == 0)
printf("两个字符串相同\n");
else
printf("两个字符串不同\n");
return 0;
}
```
这个程序会输出“两个字符串相同”。
阅读全文