利用指针指向字符串
#include<stdio.h>
#include<string.h>
void sentence(char*p1)
{
char*p2;
if(p1[0]>='a'&&p1[0]<='z')
p1[0]-=32;
while(*p1)//数组其他元素均为0,若为零则可以无视,因为待会要插入一个中指符'\0'
{
p2=p1+1;//p2指针指向下一个数组元素
if(*p1==' ')
{
while(*p2==' ')
{p2++;}//若p2指向空格,则跳过这个元素,待p2指向不是空格的元素
strcpy(p1,p2-1);//注意,此函数是把,后面的复制到前面的;而且是将整个字符串(即指针所指的元素到'\0'前的)复制了过去
}
p1++;//p1移项下一个数组元素,则p2在下一个循环中自动指向下一个元素
}
*p1='.';//指针已经指向最后一个元素
*(p1+1)='\0';//字符串结尾标志为'\0'
}
int main()
{
char str[100]={0},ch;
printf("输入一句英文语句:\n");
gets(str);
sentence(str);
printf("整理后的英文语句:\n");
puts(str);
}