#include
char *sdel(char *s );
char *sdel(char *s )
{
char *p=s,*q=s;
for(;*s==' ' ;s++);/*删去前导空白符*/
for(;*s;)
{ /*遍历s字符串其它字符*/
*q++=*s;
if(*s!=' ')
s++ ;
else
while(*s == ' ') s++;
}
if(q>p&&*(q-1)==' ') /*设定字符串结束符*/
*(q-1)='\0' ;
else
*q='\0';
return p ;
}
void main( )
{
char str[]=" We are Chinese";
printf( "%s\n",sdel(str) );
return;
}
不明白的追问~
#include
char *sdel(char *s );
char *sdel(char *s )
{
char *p=s, *q=s;
for(;*s == ' '/*_____(1)*/ ;s++); /*删去前导空白符*/
for(;*s;){ /*遍历s字符串其它字符*/
*q++=*s;
if(*s != ' ') s++/*_____(2) */ ;
else
while(*s == ' '/*_____(3)*/ ) s++;
}
if(q>p&&*(q-1)==' ') /*设定字符串结束符*/
/*_____(4)*/*(q-1) = '\0' ;
else *q='\0';
return p/*_____ (5)*/ ;
}
void main( )
{
char str[ ]=" We are Chinese ";
printf("%s\n",sdel(str) );
return;
}
#include
char *sdel(char *s );
char *sdel(char *s )
{
char *p=s,*q=s;
for(;_____(1) ;s++); /*删去前导空白符*/ // *s==' ';
for(;*s;){ /*遍历s字符串其它字符*/ 等价于 while(*s!='\0')
*q++=*s;
if(*s!=’ ’) _____(2) ; // *s++;
else
while( _____(3) ) s++; // *s==' ' ;
//以上的作用是让单词之间只留一个空格。
}
if(q>p&&*(q-1)= =’ ’) /*设定字符串结束符*/
_____(4) ; // *(q-1)='\0; //删除后面的空格
else *q=’\0’;
return _____ (5) ; // p 返回 p
}
void main( )
{
char str[ ]=” We are Chinese ”;
printf( “%s\n”,sdel(str) );
//输出结果是 "We are Chinese" 当然,引号不输出
return;
}
#include
using namespace std;
char *sdel(char *s );
char *sdel(char *s )
{
char *p=s,*q=s;
for(;*s==' ';s++); /*删去前导空白符*/
for(;*s;){ /*遍历s字符串其它字符*/
*q++=*s;
if(*s!=' ')
s++;
else
while(*s==' ') s++;
}
if( q > p && *(q-1) ==' ') /*设定字符串结束符*/
*(q-1)='\0';
else *q='\0';
return p;
}
void main( )
{
char str[]= " We are Chinese ";
printf( "%s\n",sdel(str) );
return;
}