指针本身就是一块内存的地址,肯定是可以的,用数组也可以搞定,代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char src[200]={0},dst[200]={0};
int i,j,len,t=0;
int start,end;
gets(src); //读取字符串
len = strlen(src);
//逆序遍历src
end = len;
for(i=len-1;i>=0;i--)
{
//去除尾端的空格
while(i>=0 && src[i]==' ')
i--;
if(i<0) break;
end = i+1;
//开始找前面的字符
while(i>=0 && src[i] != ' ')
i--; //找到空格的位置
if(i<0) break;
//插入
for(start = i+1;start < end;start++)
dst[t++] = src[start];
dst[t++] = ' '; //插入空格
}
//如果开头字符不为空格,则插入dst的末尾
if(src[0] != ' ')
{
for(start = 0;start < end; start++)
dst[t++]=src[start];
}
//避免后面有多余的空格
len = strlen(dst)-1;
while(dst[len] == ' ')
len--;
dst[len+1]= '\0'; //结束符
printf("%s",dst);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!