c - 删除 char 数组中的空格

标签 c arrays

我想从数组中删除空格并重新排列数组的值。

array[]="1  2 6    9  5";

我想要数组的值,例如

array[]="12695"

最佳答案

有很多方法可以提出一个简单的解决方案来删除字符串中的空格。这是我使用指针迭代想出的一个小例子:

void remove_spaces(char * str){
    char * back = str;
    do{
        if(*back != ' ')
            *str++ = *back;
    }while(*back++ != '\0');
}

此代码使用两个指针来迭代给定的字符串。在循环的每个步骤中,都会根据空字符检查后退指针(以查看是否已到达字符串末尾)并递增。在循环体中,每当 back 未指向 ' ' 时,后指针的值就会复制到前指针中。 str 也会在从 *back*str 的复制完成后立即递增,使用后增量 (++) 运算符。

关于c - 删除 char 数组中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55074146/

相关文章:

python - Python 3.4 中的类对象数组

python - 如何 "inflate"numpy中的数组?

arrays - 使用线段树查找范围内第一个和最后一个元素、倒数第二个和倒数第二个元素的乘积之和

c - 数组将 2 个值存储在一个 "place"

c - 如何写入来自父进程的 getpass() 输入?

c - 将标准输出重定向到管道写入端

python - 计算函数的反函数--库

c - 从 C 语言文件中读取 64 字节 block

c - Golang 指针接收技术困惑

PHP,将选择字段(HTML)中的值与数组中的值进行比较不起作用