一道题 帮忙看看有没有更好的方法
编写一个函数,从一个字符串中除去多余的空格.函数原型如下:void deblank(char string[]);
当函数发现字符串中如果有一个地方由一个或多个连续的空格组成,就把它们改成单个空格字符.
程序代码:
void deblank(char string[]) { int i,n; while(*string != '\0') { if(*string != ' ') string++; else { //计算空格数 for(i = 1; *(string+i) == ' ';i++) continue; i--;//需要删除的空格数 if(i == 0) { string++; continue; } //删除空格 for(n = 1;*(string+i+n) != '\0';n++) *(string+n) = *(string+i+n); *(string+n) = '\0'; } } }
想了很久也没有想到一个更好的方法,大家帮帮忙吧.