其实逆序打印的逻辑还是老一套,增加一个空碗就行。
这一题补充的是对指针的运用和字符串与其他类型之间的一点区别和注意事项
这边len代表字符串的长度
注意我们为什么在读取字符串的时候不用scanf而是选择使用gets。因为scanf遇到空格就会停止,字符串很多时候都会有空格,所以gets更合适。
#include <string.h>
Reverse(char* str)
{
int len = strlen(str);
char* left = str;
char* right = str + len - 1;
while (left < right)
{
char tmp = *left;
*left = *right;
*right = tmp;
right--;
left++
}
}
int main()
{
char str[10000] = { 0 };
while (gets(str))
{
Reverse(str);
printf("%s\n", str);
}
return 0;
}
有帮助请给个赞吧!