请编写一个函数要有子函数,函数的功能是删除字符串中的所有空格。
时间: 2024-03-07 07:48:24 浏览: 77
可以编写一个主函数 `main`,以及两个子函数 `deleteSpace` 和 `printString`,其中 `deleteSpace` 函数用于删除字符串中的所有空格,`printString` 函数用于输出字符串。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
// 删除字符串中的所有空格
void deleteSpace(char *str) {
int i, j;
for(i = 0; str[i] != '\0'; i++) {
if(str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
// 输出字符串
void printString(char *str) {
printf("The string is: %s\n", str);
}
int main() {
char str[] = "This is a test string";
printf("Before deleting space: ");
printString(str);
deleteSpace(str);
printf("After deleting space: ");
printString(str);
return 0;
}
```
在上述代码中,我们定义了两个子函数 `deleteSpace` 和 `printString`,分别用于删除字符串中的所有空格和输出字符串。在 `deleteSpace` 函数的实现中,我们使用两个指针 `i` 和 `j`,其中 `i` 用于遍历字符串中的每个字符,`j` 用于记录删除空格后的字符串中字符的位置。当遍历到一个非空格字符时,将其存储到 `str[j]` 中,然后将 `j` 加 1。最后在 `str[j]` 的位置添加字符串结束标志符 `\0` 即可。在 `main` 函数中,我们定义了一个字符串 `str`,首先输出原始字符串,然后调用 `deleteSpace` 函数删除空格,最后再次输出删除空格后的字符串。
阅读全文