在C语言中删除字符串数组中的空白元素可以通过以下步骤实现:
以下是一个示例代码:
#include <stdio.h>
#include <string.h>
void removeWhitespace(char** arr, int size) {
char** result = (char**)malloc(size * sizeof(char*));
int count = 0;
for (int i = 0; i < size; i++) {
char* str = arr[i];
int len = strlen(str);
char* newStr = (char*)malloc((len + 1) * sizeof(char));
int newIndex = 0;
for (int j = 0; j < len; j++) {
if (str[j] != ' ') {
newStr[newIndex++] = str[j];
}
}
newStr[newIndex] = '\0';
if (newIndex > 0) {
result[count++] = newStr;
} else {
free(newStr);
}
}
result[count] = NULL;
// 打印删除空白元素后的结果
for (int i = 0; i < count; i++) {
printf("%s\n", result[i]);
}
// 释放内存
for (int i = 0; i < count; i++) {
free(result[i]);
}
free(result);
}
int main() {
char* arr[] = {"Hello", " ", "World", "", " ", "Cloud", " ", "Computing"};
int size = sizeof(arr) / sizeof(arr[0]);
removeWhitespace(arr, size);
return 0;
}
这段代码会输出删除空白元素后的结果:
Hello
World
Cloud
Computing
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体需求进行修改和优化。
领取专属 10元无门槛券
手把手带您无忧上云