逆序输出一句话(C语言指针初步)-创新互联

题目:逆序输出一句话,每个单词用空格隔开
//input
i like beijing.


//output


beijing. like i

思路,指针,判断空格来分开单词,倒着遍历字符串。

目前创新互联公司已为上1000+的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、范县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。话不多说,直接上代码
​
#include#include#define SIZE 64
print(char* s)
{
    int i = 0;
    char* p = s;
    while (*p++ != '\0')
        ;
  
    while (1)
    {
        
        while(*p!= ' '&& p!=s)
        {
            p--;
        }
        if (p != s)
        {
            p++;
            printf("%s ", p);
            p--;
            *p = '\0';
        }
        if (p == s)
        {
            printf("%s", p);
            break;
        }
    }
       
}
int main()
{
    int n = 0;
    char str[SIZE] = { 0 };
    gets(str);
    print(str);
    return 0;
}

​

可以认真去想一下我的指针究竟指向了谁,思考一下逻辑

优化
#include#include#define SIZE 64
print(char* s)
{
    int i = 0;
    char* p = s;
    while (*p++ != '\0')
        ;
  
    while (1)
    {
        
        while(*p!= ' '&& p!=s)
        {
            p--;
        }
        if (p != s)
        {
            p++;
            printf("%s ", p);
            while (*(--p) == ' ')//多个空格,
                ;
            p++;
            *p = '\0';
        }
        if (p == s)
        {
            printf("%s", p);
            break;
        }
    }
       
}
int main()
{
    int n = 0;
    char str[SIZE] = { 0 };
    gets(str);
    print(str);
    return 0;
}

话中有多个空格。

当然,还可以优化,比如字符串开头是空格,字符串结尾是空格。

在这里不做赘述。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

网页名称:逆序输出一句话(C语言指针初步)-创新互联
标题网址:https://www.cdcxhl.com/article26/csdjjg.html

成都网站建设公司_创新互联,为您提供搜索引擎优化服务器托管外贸网站建设建站公司企业网站制作网站营销

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设