关闭

字符串数组反转输出 以空格为单词分隔符 C++

标签: C++指针字符串数组反转输出空格分隔
1093人阅读 评论(0) 收藏 举报
分类:

给出字符串数组及其长度,字符串有若干单词和空格组成,下边代码将数组中单词反转输出,输入”Welcom to Hubei
Wuhan”输出为“Wuhan Hubei to Welcom”

代码思路为:
1. 定义两个指针,分别指向一个单词的开头和结尾地址
2. 从字符串数组尾部开始检索单词,以空格为单词结束标志
3. 将两个指针区间的字符输出

#include <iostream>
using namespace std;
void string_inv(char str[], unsigned int len);
int main(){
    char str[] = "Wuhan Hubei to Welcom";
    unsigned int len = 20;
    string_inv(str, len);
    return 0;
}
void string_inv(char str[], unsigned int len){
    char *b = str+len;
    char *e = str+len;
    for (;b != str;b=e)
    {       
        while(*(--e)!=' '&& e != str){          
        }
        //memcpy(tem, e+1, (b -e)/sizeof(char));
        for (char *temp = (str == e)?e:e+1;temp < b+1;temp++)
        {
            cout << *temp ;
        }
        cout << endl;
        if(e-- == str)
            break;
    }

} 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13062次
    • 积分:519
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类