C语言:编写一个函数,函数的功能是删除字符串中的所有空格
时间: 2023-06-20 12:03:37 浏览: 522
以下是一个删除字符串中所有空格的C语言函数:
```c
void remove_spaces(char* str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
这个函数使用了两个指针i和j,它们分别指向原始字符串和结果字符串中的下标。循环遍历原始字符串中的所有字符,如果当前字符不是空格,则将其复制到结果字符串中,否则跳过。最后在结果字符串的结尾添加一个空字符,以表示字符串的结束。
相关问题
利用c语言编写一个函数,函数的功能是删除字符串中所有的空格
以下是利用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, sizeof(str), stdin);
// Removing spaces from the string
remove_spaces(str);
printf("String after removing spaces: %s", str);
return 0;
}
```
这个函数会接收一个字符串作为参数,并且会在原始字符串中删除所有的空格。它使用两个指针变量i和j,其中i变量会遍历原始字符串中的每个字符,并且只有当一个非空格字符被找到时才会将该字符复制到新字符串中,同时j变量保持对新字符串的有效索引。最后,新字符串以空字符'\0'结尾。
用c语言编写一个函数,函数的功能是删除字符串中的所有空格
好的,我来给你编写这个函数。
```c
void delete_space(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
这个函数遍历字符串 `str`,如果当前字符不是空格,就将其复制到新的字符串中(即 `str[j]`),并将 `j` 加1。最后再在新的字符串末尾加上字符串结束符 `\0`,即可得到删除空格后的字符串。
阅读全文