编写一个函数,用于去掉字符串前面的空格,并返回处理后的字符串(没有前导空格的字符串)。
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);
}
答案老是不对 展开
{
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);
}
答案老是不对 展开
1个回答
展开全部
我只指出你程序中的问题,程序还得你自己去写。
1. 你的程序完成的功能是把字符串中所有的空格都去掉,而不是去掉前面的空格。
2. 移动完成后没有在字符串末尾加‘\0’
3. 如果你想返回字符串的首地址,应该是 return(string); 而不是 return(q);
建议你这样修改程序:
在LtrimString 函数中需要用到两个循环,第一个循环目的是找出第一个不为空的字符,第二个循环是实现从第一个不为空的字符开始,到字符串的结束的这段字符串移到string的开始
1. 你的程序完成的功能是把字符串中所有的空格都去掉,而不是去掉前面的空格。
2. 移动完成后没有在字符串末尾加‘\0’
3. 如果你想返回字符串的首地址,应该是 return(string); 而不是 return(q);
建议你这样修改程序:
在LtrimString 函数中需要用到两个循环,第一个循环目的是找出第一个不为空的字符,第二个循环是实现从第一个不为空的字符开始,到字符串的结束的这段字符串移到string的开始
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询