zoukankan      html  css  js  c++  java
  • 字符串中单词的逆转,即将单词出现的顺序进行逆转。如将“Today is Friday!”逆转为“Friday! is Today”.

      字符串中单词的逆转,即将单词出现的顺序进行逆转。如将“Today is Friday!”逆转为“Friday! is Today”.
     48 
     49 #include<iostream>
     50 #include<stdio.h>
     51 void Reverse(char *pb,char *pe)
     52 {
     53     if(pb==NULL||pe==NULL)
     54         return;
     55     while(pb<pe)
     56     {
     57         char tmp=*pb;
     58         *pb=*pe;
     59         *pe=tmp;
     60         pb++,pe--;
     61     }
     62 }
     63 
     64 char *ReverseSentence(char *pData)
     65 {
     66     if(pData==NULL)
     67         return NULL;
     68     char *pBegin=pData;
     69     char *pEnd=pData;
     70     while(*pEnd!='')
     71         pEnd++;
     72     pEnd--;
     73     Reverse(pBegin,pEnd);
     74     pBegin=pEnd=pData;
     75     while(*pBegin!='')
     76     {
     77         if(*pBegin==' ')
     78         {
     79             pBegin++;
     80             pEnd++;
     81             continue;
     82         }
     83         else if(*pEnd==' '||*pEnd=='')
     84         {
     85             Reverse(pBegin,--pEnd);
     86             pBegin=++pEnd;
     87         }
     88         else
     89             pEnd++;
     90 
     91     }    
     92 //    printf("%s",pData);
     93     return pData;
     94 }
     95 
     96 int main()
     97 {
     98     char str[]="Today is Friday!";  //在主函数中传入调用函数的值必须是字符数组类型的值
     99     char *str1;              //而不能使指向字符串的指针,否则被调用函数无法访问字符串。
    100     printf("源字符串为:%s
    ",str);
    101 str1=ReverseSentence(str);
    102     while(str1!='')
    103     {
    104         std::cout<<*str1;
    105         str1++;
    106     }
    107 //    std::cout<<std::endl;
    108     return 0;
    109 }

    若指针指向一个字符串,这个字符串是保存在数据段常量区的,是不可以修改的。但我们可以让这个指针指向其他的字符串。

    但是所示数组保存字符串的话,是存在栈区的,数组又是常量指针,即数组的这地址是不可以修改的,所以上面程序不会修改字符串的值。

    要想字符指针像字符数组一样使用,需要提前申请相应的的内存空间,并在使用完以后对他进行释放。

  • 相关阅读:
    安装pipenv
    ModuleNotFoundError: No module named 'pip._internal' , pip 无法下载软件 解决办法
    1.3用户列表 and 新闻列表
    1.2用户统计页面实现
    1.5发布新闻
    七牛云平台(存储图片)
    1.2头像设置功能
    1.4用户收藏展示
    1.3密码修改
    1.2首页刷新以及点击排行
  • 原文地址:https://www.cnblogs.com/mydomain/p/9612835.html
Copyright © 2011-2022 走看看