c语言编写字符串去空格
时间: 2024-09-25 17:20:46 浏览: 35
在 C 语言中,要去除字符串中的空格,可以使用循环遍历字符串,并将非空格字符逐个复制到新的字符串中。下面是一个简单的示例,演示了如何使用这种方法:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int i = 0, j = 0;
while (str[i] != '\0') { // 遍历原字符串
if (str[i] != ' ') { // 如果不是空格
str[j++] = str[i]; // 将字符复制到新位置
}
i++; // 移动到下一个字符
}
str[j] = '\0'; // 新字符串结尾添加'\0'
}
int main() {
char str[100];
printf("请输入一个包含空格的字符串: ");
fgets(str, sizeof(str), stdin); // 输入字符串
// 去除字符串末尾换行符
if (str[strlen(str) - 1] == '\n') {
str[strlen(str) - 1] = '\0';
}
removeSpaces(str);
printf("去除空格后的字符串: %s\n", str);
return 0;
}
```
在这个例子中,`removeSpaces`函数接收一个指向字符串的指针,然后通过两个索引 `i` 和 `j` 分别追踪原始字符串和新字符串的位置。当遇到空格时,跳过该字符;否则将其复制到新位置。
阅读全文