#include <iostream>
#include <cstring>
using namespace std;
void my_reverse(char* p) //第一种
{int len = strlen(p); //获取字符串长度for (int i = 0; i < len / 2; i++) //无论长度是奇数还是偶数,该for循环都能解决{char t = p[i];p[i] = p[len - i - 1];p[len - i - 1] = t;}
}
void my_reverse2(char* p) //第二种
{int len = strlen(p);char* end = p + len - 1;while (p < end) //只有左边指针所指示的位置小于右边就循环下去,等两者相等或左边指针大于右边指针位置时终止{char t = *p;*p = *end;*end = t;p++;end--;}}
int main()
{char str[20] = "hello world!";printf("%s\n", str);my_reverse(str);printf("%s\n", str);my_reverse2(str);printf("%s\n", str);return 0;
}
参考:
测验8.2 指针与字符串 6-1 函数实现字符串逆序_6-1 函数实现字符串逆序 院 本题要求实现一个-CSDN博客
用c语言实现字符串逆序_6-1 函数实现字符串逆序-CSDN博客