用比较简单的c语言程序完成删除字符串中的所有空格的功能
时间: 2023-12-11 17:05:24 浏览: 24
以下是一个简单的 C 语言程序,用于删除字符串中的所有空格:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(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, sizeof(str), stdin);
removeSpaces(str);
printf("String after removing spaces: %s", str);
return 0;
}
```
这个程序使用了一个名为 `removeSpaces` 的函数,该函数接收一个字符串作为参数,并通过遍历字符串来删除其中的空格。在函数中,我们使用了两个变量 `i` 和 `j`,其中 `i` 用于遍历原始字符串,而 `j` 用于保存新字符串中的字符位置。当遍历到的字符不为空格时,我们将其保存到新字符串中,并将 `j` 加 1。最后,我们将新字符串的结尾设置为 `'\0'`,以表示字符串的结束。
在主函数中,我们使用 `fgets` 函数来从控制台读取输入字符串,然后调用 `removeSpaces` 函数来删除其中的空格,并打印处理后的结果。
注意,该程序假定输入字符串的长度不超过 100 个字符。如需处理更长的字符串,可以使用动态内存分配或其他方法进行修改。