C++ 指针实现字符串倒序排列

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>


void fun(char *w, int m)
{
    char s, *p1, *p2;
    p1 = w;  //定义一个指针指向一个字符串的第一个元素的地址
    p2 = w + m - 1; //定义一个指针,指向一个字符串的最后一个元素地址
     
    while (p1 < p2)     
    {
        s = *p1;      //将s指针指向p1的地址
        *p1 = *p2;      //将最后一个元素p2地址所对应的的值赋值给p1
        *p2 = s;     //将指针s对应原有p1的值赋值给p2 完成头尾字符串数值交换
        p1++;        //将p1指针指向下一个元素地址
        p2--;        //将p2指针指向前一个元素地址
    }

}

int main()
{
    char a[] = "123456";
    fun(a, strlen(a));  
    puts(a);


    return 0;
}

猜你喜欢

转载自www.cnblogs.com/shenji/p/12505909.html