#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void trimSpace(char *instr, char *outstr){
int i = 0;
for (i = 0; i < (int)strlen(instr); i++)
{
if ((int)(*(instr+i))==32)
{
continue;
}
else{
*(outstr + i) = *(instr + i);
}
printf("%c", *(outstr+i)); //这个位置可以打印出来去掉空格之后的字符串
}
*(outstr + i) = '\0';
printf("%s", *outstr); //这个位置再打印就是null了 求解为什么 感谢
}
void main(){
char *p1 = " abcdefgdddd ";
char p2[100] = {0};
trimSpace(p1,p2);
//printf("%s", p2);
getchar();
}
只能用两个指针作为传递进修修改