20307130301wyf @ 2021-01-05 11:21:56
代码如下
#include<stdio.h>
int main(){
int a;
if((a=getchar())!='\n'){
main();
printf("%c",a);
}
}
by AMIRIOX無暝 @ 2021-01-05 11:29:50
首先main递归是ub
验证码meet
祭
by 霜羽 @ 2021-01-05 11:40:19
@20307130301wyf Linux下数据并不等于windows,会多一个\r
,在输出上显示为换行,所以if((a=getchar())!='\n')
会多读东西
by 霜羽 @ 2021-01-05 11:41:33
可以自己在洛谷IDE上看看,还有,不建议递归main()函数
改完的代码:
#include<stdio.h>
int main(){
char a = getchar();
if((a == '.') || (a >= '0' && a <= '9')){
main();
printf("%c",a);
}
return 0;
}
by 20307130301wyf @ 2021-01-05 17:09:54
@霜羽 原来如此!谢谢!
by williamY @ 2021-05-21 23:42:42
洛谷里不能用getline,不然就全是WA,不用就好了