mikisayaka @ 2023-02-08 12:11:58
接收数字的时候%c和gets都是WA,%s就过了,但是这三种在本地devc上都是一样的效果,是因为洛谷的编译器有什么问题吗?
by Terrible @ 2023-02-08 12:21:48
@mikisayaka
不加getchar()
的%c
和%s
即便在本地也不是一个效果。
%c
会读入空格、换行符、回车符,而且洛谷的某些数据(包含本题)末尾都是\r\n
,你本地控制台输入的时候末尾只是\n
,一次getchar()
不够。
gets
在洛谷C++里是不被允许编译通过的,只能在洛谷C语言提交里用,用洛谷C++请用其他读入方式,例如fgets
、fread
。
如果要求读入非空白字符,请在%c
前面加一个空格,也就是%c
,空格会匹配掉空白字符。
by Terrible @ 2023-02-08 12:23:07
scanf(" %c",&c);
行内程序段会吞空格。。