/*
*Copyright (C) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称 :mian.cpp
*作 者 :韩娟
*完成日期 :2014年12月12日
*版 本 号 :v1.0
*
*问题描述 :去除句子中多余的空格
*输入描述 :略
*程序输出 :去除后的句子
*/
#include <iostream>
using namespace std;
char *palltrim(char *str);
int main()
{
char s1[50]=" I can do everything best.";
cout<<"原先的句子为:"<<s1<<endl;
palltrim(s1);
cout<<"去除句子中第一个单词前的空格后为:"<<s1<<endl; //返回值为char*型,可以直接显示
return 0;
}
//作为示例,本函数采用了形参为数组,在实现中,直接用下标法进行访问
//实际上,在实现中,完全可以用指针法访问
char *palltrim(char *str)
{
int i;
char *p1=str,*p2=str;
while(*p1==' ')
p1++;
while(*p1!='\0')
{
if(*p1!=' ')
{
i=1;
*p2++=*p1++;
}
else if(i)
{
i=0;
*p2++=*p1++;
}
else p1++;
}
*p2='\0';
return p2;
}
知识点总结 :
这个程序是前面的两个程序的结合,把前面两个给弄明白了,后面的也就好做了。
学习心得 :
指针这一章知识点比较抽象,要多多练习。