一道c语言题,初学题,但是期待详细答案O(∩_∩)O

编写一个名为trimrear()的c语言函数,从一个字符串所有的领先空格。使用指针编写这个函数。writeacfunctionnamedtrimfrnt()thatdel... 编写一个名为trimrear()的c语言函数,从一个字符串所有的领先空格。使用指针编写这个函数。
write a c function named trimfrnt()that deletes all leading blanks from a string.write the function using pointers.
这是学数组,地址和指针那章学的,希望大家帮忙啊,写份英文的程序,最好有详解,谢谢犹~~!
展开
 我来答
匿名用户
2008-12-15
展开全部
翻译的真差劲!

write a c function named trimfrnt()that deletes all leading blanks from a string.write the function using pointers.
写一个名为trimfrnt()的函数,它从字符串中删除所有的前导空格。
用指针写这个函数。

非常简单,如下:
char *trimfrnt(char *s)
{
while(*s==' ')s++;
return s;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ryw12403
2008-12-15 · TA获得超过1899个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2077万
展开全部
先说下以后不要用翻译来的中文,如不会请用原英文,我想会有看得懂的。象你上面说的--从一个字符串所有的领先空格,不知是哪个翻译网站,可以关闭了。
编写一个名为trimrear()的c语言函数,删除一个字串前的所有空白字符。用指针编写该函数。

该题主要要用到下面这函数:
int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'),走纸换行('\f'),垂直制表符('\v'),换行符('\n')返回非0值,否则返回0。在头文件
#include <ctype.h>中

char * trimrear(char *str){
char *p;
p=str;
while(*p){
if(isspace(*p))
p++;
else
break;
}
return p;
}
使用时这样调用就行。

#include <ctype.h>
#include <stdio.h>

main(){
char str[20]="空格TAB键 adbnjh";
puts(str);
strcpy(str,trimrear(str));
puts(str);
getchar();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyin3526
2008-12-15 · TA获得超过225个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
下面的程序只删除字符串头部的空格,其它的不会改变:

#include <stdio.h>
#include <conio.h>

void trimfrnt(char* str)
{
char* p = str;
int i = 0;
bool nospace = false;

while(*p)
{
/*if the character is leading blanks, jump*/
if (!nospace && (*p == ' '))
{
p++;
continue;
}

/*if all the leading blanks was delete, copy the remaind string*/
nospace = true;
*(str+i) = *p;
p++;
i++;
}

/*after delete all the leading blanks, set the string end flag*/
*(str+i) = 0;
}

void main()
{
char teststr[256] = {" abc d"};

/*print teststr before call trimfrnt()*/
printf("before call trimfrnt() the \"teststr\" is \"%s\"\n", teststr);

/*call the function trimfrnt() to deletes all leading blanks from teststr*/
trimfrnt(teststr);

/*print teststr after call trimfrnt()*/
printf("after call trimfrnt() the \"teststr\" is \"%s\"\n", teststr);

/*wait you input 'enter' to end this program*/
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高速路上飙单车
2008-12-15 · TA获得超过640个赞
知道小有建树答主
回答量:78
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
char* trimfrnt(char * str)
{
while (*str == ' ')str++;//为空格的时候跳过
return str;//返回指针
}
main()
{
char *str =" a bc";//要处理的字符串
printf("%s",trimfrnt(str));//输出空格后的字符串
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人才0252
2008-12-15 · TA获得超过780个赞
知道小有建树答主
回答量:733
采纳率:0%
帮助的人:342万
展开全部
"从一个字符串所有的领先空格"
什么意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式