题目要求:输出一个字符串,长度 0< n <10000,逆向输出它。
如,
输入:I am a cup.
输出:.puc a ma I
分析:题目要求我们逆序输出,而不是更改字符串在内存中的存储顺序,所以我们依然写一个函数,然后使用以const修饰的指针来解题。
#include <stdio.h>
#include <assert.h>
#include <string.h>
void Reverse_print_arr(const char* arr, int len)
{
assert(arr);
int i = 0;
for (i = len - 1; i >= 0; i--)
{
printf("%c", *(arr + i));
}
}
int main()
{
//题目要求字符串在1~1000之间,所以我们定义成10001,让永远有一个地方可以放'\0'
char arr[10001] = {0};
int len = 0;
//scanf无法读取空格,所以使用gets
gets(arr);
len = strlen(arr);
Reverse_print_arr(arr, len);
return 0;
}