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

1529
2023/11/23 0:18:23
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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;
}

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言怎么给字符赋值