去除字符串中的空格,求大佬帮忙看一下为什么实现不了
c吧
全部回复
仅看楼主
level 1
长街 楼主
char* delet_space(char* s)
{
char temp[SIZE];
char* pstr=temp;
while (*s)
{
if (*s != ' ')
*pstr++ = *s++;
else
s++;
}
return temp;
}
2021年02月21日 06点02分 1
level 1
长街 楼主
我感觉和作用域之类的东西有关 不知道是不这样
2021年02月21日 06点02分 2
level 1
长街 楼主
改成这样就好了 不知道为啥
char* delet_space(char* s)
{
char temp[SIZE];
char* pstr = temp;
while (*s)
{
if (*s != ' ')
*pstr++ = *s++;
else
s++;
*pstr = '\0';
}
return strcpy(s, temp);
}
2021年02月21日 07点02分 3
level 1
长街 楼主
估计就是作用域的问题 看来还得好好学学内存的知识
2021年02月21日 07点02分 4
level 1
temp是函数内的局部变量,退出函数之后,该空间就被释放了,自然拿不到删除空格之后的字符串
2021年02月21日 16点02分 5
懂了 谢谢!
2021年02月22日 00点02分
1