我觉得我的没有问题,也能成功跑,怎么输入都没有问题啊,哪里出问题了。
把max定义为1001试试,因为题目里有个条件字符串长度<=1000,所以max定义1001以容纳1000个字符,字符数组最后一个位置用于容纳1000个字符长度的字符串的结尾字符空字符'\0', 修改如下:
#include <stdio.h>
#include <string.h>
#define max 1001
int main(void){
char a[max];
gets(a);
int length=strlen(a);
// printf("length=%d\n",length);
for(int i=length-1;i>=0;i--){
printf("%c",*(a+i));
}
printf("\n");
return 0;
}
数组 maxn 定义小了,题目最大长度为1000,但是字符串结尾的’\0’也要占一个空间,
所以一般可以多开十个位置,即 令 maxn = 1010
i>=length/2