以下是引用yuccn在2014-3-5 19:22:29的发言:
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; // 外面对其内存进行释放
}
我给你补了一下代码
不知道是否是你正确的意图
反正你的结果是错误的
哈哈
程序代码:
#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