C语言非递归实现字符串逆转

一,非递归方式实现一个字符串”abcdefg”逆转.
我们可以按照如下步骤进行:
1,求出这个字符串的长度
2,两个索引 i和j, 初始值i为0,j为字符长度减1
3,然后将两个索引位置的字符交换,然后i加1,j减1.
4,如果i小于j那么重复3

二,步骤图示:
这里写图片描述

三,代码如下:

#include "stdafx.h"
#include<string.h>
void reverseStr_1(char* value){
    if(value == NULL){
        return;
    }

    int len = strlen(value);
    printf("%d\n",len);

    char* pointer = value;
    int i=0,j=len-1;
    while(i < j){
        char temp = *(pointer+i);
        *(pointer+i) = *(pointer+j);
        *(pointer+j) = temp;
        i++;
        j--;
    }

}


int main()
{
    char value[] = "abcdefg";
    reverseStr_1(value);
    printf("after reverse:%s\n",value);
    return 0;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ic_tv/article/details/46795419
文章标签: c语言 字符串逆转
个人分类: C
想对作者说点什么? 我来说一句

字符串处理常见算法实现

2012年01月08日 5KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭