本关任务:编写函数ltrim,用来删除字符串中的前导空格,中间和尾部的空格不删除。例如:字符串为:" A BC DEF ",删除后的结果是"A BC DEF "。要求函数形参采用指针变量。
时间: 2024-03-25 14:35:20 浏览: 69
好的,我来帮您完成这个任务。这是一个简单的字符串处理函数,可以使用指针来实现。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
void ltrim(char *str) {
int len = strlen(str);
int i = 0;
while (str[i] == ' ' && i < len) {
i++;
}
if (i > 0) {
memmove(str, str + i, len - i + 1);
}
}
int main() {
char str[] = " A BC DEF ";
printf("Before trimming: \"%s\"\n", str);
ltrim(str);
printf("After trimming: \"%s\"\n", str);
return 0;
}
```
在这个程序中,ltrim()函数接收一个指向字符的指针,删除字符串中的前导空格。在main()函数中,我们声明了一个字符串str,并将其赋值为" A BC DEF "。然后,我们调用ltrim()函数来删除字符串中的前导空格,并将结果打印到控制台上。
在ltrim()函数中,我们首先计算字符串的长度,并使用一个循环来找到第一个非空格字符的位置。如果字符串不是以空格字符开头,则我们使用memmove()函数将字符串向左移动,以便删除前导空格。
这个程序的输出应该是:
```
Before trimming: " A BC DEF "
After trimming: "A BC DEF "
```
在这里,我们验证了我们的自定义函数的功能。
阅读全文