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; }