可以这样做:
#include <stdio.h>
#include <string.h>
int main(void)
{
char str1[] = "Hello!";
char str2[7]; // 记得开够空间!
char *p1, *p2; // 声明两个指针
p1 = str1; // p1 指向 str1 的首地址
p2 = str2; // p2 指向 str2 的首地址
while (*p1) // 在 *p1 不是 '\0' 时循环
{
*p2 = *p1; // 将 *p1 的值赋给 *p2
p1++; // p1 向后移动一个字符
p2++; // p2 向后移动一个字符
}
*p2 = '\0'; // 在 str2 末尾加上结束符
p1 = str1 + strlen(str1) - 1; // p1 指向 str1 最后一个字符的地址
while (p1 >= str1) // 在 p1 大于等于 str1 时循环
{
printf("%c", *p1); // 输出 *p1 的值
p1--; // p1 向前移动一个字符
}
printf("\n"); // 输出换行
return 0;
}