#include <stdio.h> #include <string.h> void main() { void deblank( char string[], int len ); char str[50]; int len; gets(str); len = strlen(str); deblank(str,len); printf("%s/n",str); } void deblank( char string[], int len ) { int i,n=0,m=0,j; for (i=0; i<len-m; i++) /*len-m的意思是减去去掉的空格个数*/ { if ( string[i] == ' ' ) { n++; if (n==1 && string[i+1]!=' ') /*避免不同处的空格累加*/ n = 0; j = i; } if ( n>1 && string[j+1]!=' ' ) /*当出现多个空格时将后面的字符前移*/ { while ( string[j+1] != '/0' ) { string[j-n+2] = string[j+1]; j++; } m = n-1; string[j-n+2] = '/0'; n = 0; } } }