以下这个实验能不能不用指针解决?

img


我们实验课上的实验内容,教辅说理论课还没学指针,让我们暴力解决,可是我查相关资料都是用的指针,怎么不用指针来解决呢?谢谢了

指针本身就是一块内存的地址,肯定是可以的,用数组也可以搞定,代码如下:

#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;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632