c++、去掉字符串尾部的空格

2025-04-19 01:34:10
推荐回答(1个)
回答1:

因为你返回了一个局部变量的地址。非静态的局部变量的生命周期和作用域只限于自己这个函数,这个函数结束,变量就不在了,所对应的内存空间亦被回收。所以传递地址后成了空白。
你可以通过返回string来实现。而且你的mytrim里面for貌似也没有什么实际用处。可以参考这样实现
char *mytrim(char *string){
int n=0;
while(string[n]!='\0')
{
n++;
}
if(string[n-1]==' ')
string[n-1]=0;
return string;
}