C语言删除字符串中的空格
时间: 2023-09-13 11:11:35 浏览: 165
可以使用 C 语言提供的字符串函数和循环语句来删除字符串中的空格。下面是一种基本的方法:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
removeSpaces(str);
printf("String after removing spaces: %s", str);
return 0;
}
```
这个程序使用 `fgets()` 函数从标准输入读取一个字符串,并将其存储在字符数组 `str` 中。然后,它调用 `removeSpaces()` 函数来删除 `str` 中的所有空格字符。 `removeSpaces()` 函数使用两个指针,`i` 和 `j`,在字符串中移动。指针 `i` 用于遍历字符串中的每个字符,指针 `j` 用于存储非空格字符。当 `i` 指向一个非空格字符时,它将该字符复制到 `j` 的位置,并将 `j` 向前移动。最后,`j` 指向字符串的结尾,并在 `j` 处添加一个空字符,以表示新的字符串的结尾。最后,程序输出删除空格后的字符串。
注意,这个程序只删除空格字符,如果你想删除其他空白符号,如制表符和换行符,可以修改 `if` 语句中的条件。
阅读全文