C - 比较字符串文字与字符数组

c++

1个回答

写回答

cl0sur3

2025-07-08 01:20

+ 关注

AI
AI

使用C语言中的比较字符串文字与字符数组的方法可以实现对字符串的比较和操作。在C语言中,字符串是由字符数组表示的,因此可以使用字符数组的方法来对字符串进行处理。下面将介绍如何比较字符串文字与字符数组,并给出相应的代码案例。

比较字符串文字与字符数组的方法

在C语言中,比较字符串文字与字符数组的方法主要有两种:使用strcmp函数和逐个比较字符。

1. 使用strcmp函数比较字符串文字与字符数组:

strcmp函数是C语言中用于比较两个字符串的函数,它的原型为:int strcmp(const char *str1, const char *str2)。该函数返回一个整数值,用于表示两个字符串的大小关系。

如果返回值为0,表示两个字符串相等;如果返回值小于0,表示str1小于str2;如果返回值大于0,表示str1大于str2。

下面是一个使用strcmp函数比较字符串文字与字符数组的示例代码:

c

#include <stdio.h>

#include <string.h>

int mAIn() {

char str1[] = "Hello";

char str2[] = "Hello";

char str3[] = "World";

if(strcmp(str1, str2) == 0) {

printf("str1与str2相等\n");

} else {

printf("str1与str2不相等\n");

}

if(strcmp(str1, str3) == 0) {

printf("str1与str3相等\n");

} else {

printf("str1与str3不相等\n");

}

return 0;

}

运行结果为:

str1与str2相等

str1与str3不相等

2. 逐个比较字符比较字符串文字与字符数组:

除了使用strcmp函数外,还可以逐个比较字符的方式来比较字符串文字与字符数组。

下面是一个使用逐个比较字符的示例代码:

c

#include <stdio.h>

int compareStrings(char str1[], char str2[]) {

int i = 0;

while(str1[i] != '\0' && str2[i] != '\0') {

if(str1[i] != str2[i]) {

return 0;

}

i++;

}

if(str1[i] == '\0' && str2[i] == '\0') {

return 1;

} else {

return 0;

}

}

int mAIn() {

char str1[] = "Hello";

char str2[] = "Hello";

char str3[] = "World";

if(compareStrings(str1, str2)) {

printf("str1与str2相等\n");

} else {

printf("str1与str2不相等\n");

}

if(compareStrings(str1, str3)) {

printf("str1与str3相等\n");

} else {

printf("str1与str3不相等\n");

}

return 0;

}

运行结果为:

str1与str2相等

str1与str3不相等

以上就是比较字符串文字与字符数组的方法及相应的示例代码。可以根据具体的需求选择适合的方法来比较字符串,从而实现对字符串的比较和操作。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号