@[M0XU](/user/1178500) 放个代码?gets 自 C++14 起被废除了。
by xiaoshumiao @ 2024-01-11 10:27:08
@[xiaoshumiao](/user/1008513)
```c
//这是第一次的
#include <stdio.h>
int main(){
char name1[7];
char name2[7];
gets(name1);
gets(name2);
int a=1,b=1;
int i;
for(i=0;name1[i]!='\0';i++){
a*=name1[i]-'A'+1;
}
for(i=0;name2[i]!='\0';i++){
b*=name2[i]-'A'+1;
}
if(a%47==b%47){
printf("GO");
}else{
printf("STAY");
}
return 0;
}
```
by M0XU @ 2024-01-11 10:56:05
@[M0XU](/user/1178500) 奇怪的是,我本地测,IDE 测你 #1 都是对的,但提交就是过不了。`gets` 本身可能会造成编译器泄露,以后还是不用了吧。可以换 `fgets`。
by xiaoshumiao @ 2024-01-11 10:57:53
@[M0XU](/user/1178500) 不要使用 gets 等读取一行,因为这些函数使用换行符来判断行结束(当然也不要手动判断换行符)。Windows 下换行符是 \r\n,而 Linux 下换行符是 \n。假设此题的数据是在 Windows 下生成的,那么他的换行符是 \r\n,而 Luogu 上的程序是在 Linux 下编译的,读取的换行符是 \n,这样就错了。
by justalearner @ 2024-01-11 12:06:11
@[M0XU](/user/1178500) gets会出bug,用getchar或者getinline
by liverxiwo @ 2024-01-11 12:35:15
@[xiaoshumiao](/user/1008513) 好的谢谢!
by M0XU @ 2024-01-11 16:58:28
@[justalearner](/user/774330) 好的谢谢!
by M0XU @ 2024-01-11 16:58:56
@[liverxiwo](/user/1162380) 好的谢谢!
by M0XU @ 2024-01-11 16:59:20