编写一个函数,用于去掉字符串前面的空格,并返回处理后的字符串(没有前导空格的字符串)。

voidmain(){char*LtrimString(char*string);charstring[80];printf("请输入字符串:");gets(string... void main()
{
char * LtrimString(char * string);
char string[80];
printf("请输入字符串:");
gets(string);
printf("处理后的字符串是:%s\n",LtrimString(string));
}
char * LtrimString(char * string)
{
char *p,*q;
for(p=string,q=string;*p!='\0';p++)
{
if(*p!=' ')
{
*q=*p;
q++;
}
}
return(q);
}
答案老是不对
展开
 我来答
h0292058
2011-11-27 · 超过23用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:41.3万
展开全部
我只指出你程序中的问题,程序还得你自己去写。
1. 你的程序完成的功能是把字符串中所有的空格都去掉,而不是去掉前面的空格。
2. 移动完成后没有在字符串末尾加‘\0’
3. 如果你想返回字符串的首地址,应该是 return(string); 而不是 return(q);

建议你这样修改程序:
在LtrimString 函数中需要用到两个循环,第一个循环目的是找出第一个不为空的字符,第二个循环是实现从第一个不为空的字符开始,到字符串的结束的这段字符串移到string的开始
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式