反转函数reverse的关键在于传入*p字符串变量后,获取字符串长度(循环至匹配到'\0'为止),将字符串数组元素头尾对应交换顺序,得到翻转后的字符串序列。
void reverse(char *p) {
char *tmp = p;
int a = 0;
while (*tmp != '\0')//字符串0结尾,计算长度
{
tmp++;
a++;
}
int j = 0;
char ch = NULL;
for (j = 0; j < a / 2; j++)
{
ch = *(p + j);
*(p + j) = *(p + a - 1 - j);//交换字符串字符顺序
*(p + a - 1 - j) = ch;
}
}