以下是引用wp231957在2014-3-5 19:31:38的发言:
我给你补了一下代码 不知道是否是你正确的意图 反正你的结果是错误的 哈哈#include <stdio.h>
#include <string.h>
#include <malloc.h>
char *remove_spase(char *p)
{
// 不判断参数是否合法了
char *pResult = (char *)malloc(strlen(p) * sizeof(char));
char *pIndex = pResult;
while (*p != '\0') {
if (*p != ' ') {
*pIndex = *p;
pIndex++;
}
p++;
}
pIndex = '\0';
return pResult; // 外面对其内存进行释放
}
int main()
{
char test[]=" This is a test string . ";
char *p=remove_spase(test);
printf("$-:%sEND\n",p);
free(p);
return 0;
}
$-:Thisisateststring.屯屯屯屯屯屯屯屯屯屯屯屯屯???$銗END
char *remove_spase(char *p)
{
// 不判断参数是否合法了
char *pResult = (char *)malloc(strlen(p) * sizeof(char));
char *pIndex = pResult;
while (*p != '\0') {
if (*p != ' ') {
*pIndex = *p;
pIndex++;
}
p++;
}
*pIndex = '\0'; // 漏了*
return pResult; // 外面对其内存进行释放
}