如果要使用 C 语言判断一个字符串是否存在于一个字符串数组中,可以使用以下方法:
- 使用 for 循环遍历字符串数组中的每一个字符串,并使用 strcmp 函数比较它们是否相等。如果找到了相等的字符串,可以立即返回 1 表示存在;如果遍历完整个字符串数组也没有找到相等的字符串,可以返回 0 表示不存在。
下面是代码示例:
#include <stdio.h>
#include <string.h>
int exists(const char *str, const char *arr[], int arr_size)
{
for (int i = 0; i < arr_size; i++) {
if (strcmp(str, arr[i]) == 0) {
return 1;
}
}
return 0;
}
int main()
{
const char *arr[] = {"abc", "def", "ghi"};
int arr_size = sizeof(arr) / sizeof(arr[0]);
printf("exists('abc', arr, arr_size) = %d\n", exists("abc", arr, arr_size));
printf("exists('def', arr, arr_size) = %d\n", exists("def", arr, arr_size));
printf("exists('ghi', arr, arr_size) = %d\n", exists("ghi", arr, arr_size));
printf("exists('jkl', arr, arr_size) = %d\n", exists("jkl", arr, arr_size));
return 0;
}
运行结果如下:
exists('abc', arr, arr_size) = 1
exists('def', arr, arr_size) = 1
exists('ghi', arr, arr_size) = 1
exists('jkl', arr, arr_size) = 0