编写函数ltrim,用来删除字符串中的前导空格,中间和尾部的空格不删除。例如:字符串为:" A BC DEF ",删除后的结果是"A BC DEF "。要求函数形参采用指针变量
时间: 2024-02-26 10:57:32 浏览: 71
好的,下面是实现函数 `ltrim()` 的代码:
```c
#include <stdio.h>
#include <string.h>
void ltrim(char *str) {
int i, j = 0;
int len = strlen(str);
for (i = 0; i < len && str[i] == ' '; i++);
for (; i < len; i++) {
str[j++] = str[i];
}
str[j] = '\0';
}
int main() {
char str[] = " A BC DEF ";
printf("原字符串:%s\n", str);
ltrim(str);
printf("删除前导空格后的字符串:%s\n", str);
return 0;
}
```
在这个程序中,我们定义了函数 `ltrim()`,它接受一个指向字符串的指针作为参数。该函数会删除字符串中的前导空格,中间和尾部的空格不会被删除。
在函数中,我们使用了两个循环来实现删除前导空格的功能。第一个循环用来找到第一个非空格字符的位置,第二个循环用来将非空格字符移动到字符串的开头。
在 `main()` 函数中,我们声明了一个字符串 `str`,并调用函数 `ltrim()` 来删除前导空格。最后输出删除前导空格后的字符串,验证函数的功能。
需要注意的是,在函数中我们使用了 `strlen()` 函数来获取字符串的长度,需要在程序中包含头文件 `string.h`。
阅读全文