C语言 去掉字符串数组中的字符串
时间: 2023-07-09 08:07:22 浏览: 161
C语言之从字符数组中删除特定的字符
要去掉一个字符串数组中的字符串,可以通过以下步骤实现:
1. 找到要删除的字符串在数组中的位置。
2. 将该位置后面的所有字符串都向前移动一个位置。
3. 将数组的长度减1。
以下是一个示例代码,演示如何从字符串数组中删除一个字符串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char strArr[5][20] = {"apple", "banana", "orange", "pear", "peach"};
int len = 5;
// 要删除的字符串
char* strToRemove = "orange";
// 找到要删除的字符串在数组中的位置
int posToRemove = -1;
for (int i = 0; i < len; i++) {
if (strcmp(strArr[i], strToRemove) == 0) {
posToRemove = i;
break;
}
}
if (posToRemove != -1) {
// 将该位置后面的所有字符串都向前移动一个位置
for (int i = posToRemove; i < len - 1; i++) {
strcpy(strArr[i], strArr[i+1]);
}
// 将数组的长度减1
len--;
// 输出删除后的数组
for (int i = 0; i < len; i++) {
printf("%s\n", strArr[i]);
}
} else {
printf("String not found\n");
}
return 0;
}
```
在上面的示例代码中,我们首先定义了一个包含5个字符串的字符串数组,并且指定了数组的长度为5。然后我们要删除的字符串是"orange"。我们使用for循环查找要删除的字符串在数组中的位置,如果找到了该字符串,则将该位置后面的所有字符串都向前移动一个位置,并将数组的长度减1。最后,我们输出删除后的字符串数组。
阅读全文