为什么我这样写就测试不通过呢?
#include<stdio.h>
#include<string.h>
int main(){
int i=0;
char str[999+1];
scanf("%s", str);
i = strlen(str);
for (; i >= 0; --i)
{
printf("%c", str[i]);
/* code */
}
printf("\n");
return 0;
}自问自答:好像是strlen取到了'\n'字符,所以输出的时候先输出了换行符,导致案例过不去。
匹配测试案例的代码:
#include<stdio.h>
#include<string.h>
int main(){
int i=0;
char str[999+1];
memset(str, 0x00, sizeof(str));
// scanf("%s", str); 测试案例的字符串应该也自带'\n',所以需要减一
//fget函数会在读取到的字符串后面加'\n'所以是两个,需要减二
fgets(str,1000,stdin);
i = strlen(str)-2;
for (; i >= 0; --i)
{
printf("%c", str[i]);
/* code */
}
printf("\n");
return 0;
}

京公网安备 11010502036488号