alBeLine @ 2021-11-14 10:25:58
自己运行时, 用gets和scanf结果都符合, 但是上交代码的时候gets却是错的!
#include <stdio.h>
#include <string.h>
int main(){
char str[100];
int len;
gets(str);
len = strlen(str);
for(int i = len-1;i >= 0;i--){
printf("%c", str[i]);
}
return 0;
}
by liuzimingc @ 2021-11-14 10:29:53
换行符的问题。
改成
#include <stdio.h>
#include <string.h>
int main(){
char str[100];
int len;
gets(str);
len = strlen(str);
for(int i = len-2;i >= 0;i--){
printf("%c", str[i]);
}
return 0;
}
就可以了。
by alBeLine @ 2021-11-14 10:34:57
@liuzimingc 谢谢, 问题解决了
by liuzimingc @ 2021-11-14 10:38:04
@alBeLine 建议不要用 gets。
by alBeLine @ 2021-11-14 10:44:31
@liuzimingc 好的, 能告知一下gets应该什么使用比较好吗, 我还以为换行符是储存在缓冲区的, 哈哈
by liuzimingc @ 2021-11-14 10:50:54
@alBeLine 实在要用就用 fgets。scanf 足够了
by rzh123 @ 2021-11-14 12:04:01
能告知一下gets应该什么使用比较好吗
什么时候也不要用