C语言定义一个字符串数组,通过遍历返回改字符串在数组中的序号
时间: 2024-10-12 13:09:05 浏览: 3
在C语言中,你可以定义一个字符串数组并使用`strlen()`函数获取每个字符串的长度,然后遍历数组使用`strcmp()`函数对比目标字符串,如果匹配则返回对应的索引。这里有一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h> // 使用bool类型便于表示是否存在
// 定义字符串数组
const char* stringArray[] = {"apple", "banana", "cherry", "date", "elderberry"};
// 定义一个辅助函数,用于查找目标字符串的索引
int findStringIndex(const char* arr[], int size, const char* target) {
for (int i = 0; i < size; i++) {
if (strcmp(arr[i], target) == 0) {
return i; // 找到目标字符串,返回其索引
}
}
return -1; // 如果没有找到目标字符串,返回-1表示不存在
}
int main() {
const char* target = "banana"; // 要查找的字符串
int index = findStringIndex(stringArray, sizeof(stringArray) / sizeof(*stringArray), target);
if (index != -1) {
printf("'%s' is at position %d in the array.\n", target, index + 1); // 注意索引从0开始计数
} else {
printf("'%s' not found in the array.\n", target);
}
return 0;
}
```
这个程序会在`stringArray`中查找`target`,并打印出它的位置。