#include
#include
#include
void trimSpace(char *instr, char *outstr){
int i = 0;
int j = 0; // 因为去掉空格后的字符串的字符个数和去掉空格之前不一样,需要额外增加一个变量用来标记下标。
for (i = 0; i < > > {
if ((int)(*(instr+i))==32)
{
continue;
}
else{
*(outstr + j) = *(instr + i);
j++;
}
printf("%c", *(outstr+i)); //这个位置可以打印出来去掉空格之后的字符串
}
*(outstr + j) = '\0';
printf("%s", *outstr); //这个位置再打印就是null了 求解为什么 感谢
}
void main(){
char *p1 = " abcdefgdddd ";
char p2[100] = {0};
trimSpace(p1,p2);
//printf("%s", p2);
getchar();
}