C语言代码,要求去掉字符串的空格
时间: 2023-06-15 09:06:24 浏览: 120
删除字符串空格C语言
5星 · 资源好评率100%
以下是一个简单的 C 代码示例,可以去除字符串中的所有空格:
```c
#include <stdio.h>
#include <string.h>
void remove_spaces(char* str) {
int i, j;
for (i=0, j=0; str[i]; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
str[strcspn(str, "\n")] = '\0'; // remove newline character from input
remove_spaces(str);
printf("String with spaces removed: %s\n", str);
return 0;
}
```
在上面的代码中,我们定义了一个名为 `remove_spaces` 的函数,它接受一个指向字符串的指针,并通过遍历该字符串来删除所有空格。该函数使用两个变量 `i` 和 `j` 来跟踪当前位置,其中 `i` 存储读取的位置,而 `j` 存储写入的位置。如果字符不是空格,则将其写入到 `j` 的位置,并将 `j` 增加 1。最后,我们将字符串的结尾设置为 `'\0'`。
在 `main` 函数中,我们使用 `fgets` 函数从标准输入读取字符串,并使用 `strcspn` 函数删除输入中的换行符。然后,我们将该字符串传递给 `remove_spaces` 函数,并使用 `printf` 函数打印结果。
阅读全文