温馨提示×

c语言怎么删除字符串中的空格

小亿
763
2023-11-04 00:18:23
栏目: 编程语言

在C语言中,可以使用以下方法删除字符串中的空格:

  1. 使用循环遍历字符串的每个字符,如果字符不是空格,则将其拷贝到一个新的字符串中。
#include <stdio.h>
#include <string.h>

void deleteSpaces(char* str) {
    int len = strlen(str);
    char newStr[len];
    int j = 0;

    for (int i = 0; i < len; i++) {
        if (str[i] != ' ') {
            newStr[j++] = str[i];
        }
    }
    newStr[j] = '\0';

    printf("Original String: %s\n", str);
    printf("String without spaces: %s\n", newStr);
}

int main() {
    char str[] = "Hello World";
    deleteSpaces(str);

    return 0;
}
  1. 使用指针的方式删除空格,同样使用循环遍历字符串的每个字符,如果字符不是空格,则直接通过指针操作删除空格。
#include <stdio.h>
#include <string.h>

void deleteSpaces(char* str) {
    char* ptr = str;
    while (*str) {
        if (*str != ' ') {
            *ptr++ = *str;
        }
        str++;
    }
    *ptr = '\0';

    printf("Original String: %s\n", str);
    printf("String without spaces: %s\n", ptr);
}

int main() {
    char str[] = "Hello World";
    deleteSpaces(str);

    return 0;
}

以上两种方法都能实现删除字符串中的空格,选择其中一种方法即可。

0