可以使用循环遍历字符串,并判断前后字符是否是空格,如果前后都是空格,则将当前字符替换为下一个字符,直到没有多余空格为止。
示例代码如下:
#include
void removeExtraSpace(char *str) {
int i, j;
for (i = 0, j = 0; str[i]; i++) {
if (str[i] != ' ' || (i > 0 && str[i - 1] != ' ')) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = " I love Programming ";
printf("Before removing extra space:\n%s\n", str);
removeExtraSpace(str);
printf("After removing extra space:\n%s\n", str);
return 0;
}
输出结果为:
Before removing extra space:
I love Programming
After removing extra space:
I love Programming