确实是吧 我换成我的快读就过了:
```cpp
inline int read()
{
char ch=getchar();
int x=0,f=1;
while(ch<'0'||ch >'9')
{
if(ch=='-') f=-1;
ch=getchar();
}
while('0'<=ch&&ch<='9')
{
x=x*10+ch-'0';
ch=getchar();
}
return x*f;
}
```
by Xeqwq @ 2022-04-20 20:10:35
@[CalmKin](/user/570330) getchar()拿到的是符号不是数字,是以ASCII码保存的,所以每次*10的时候你还要减去'0'
我不知道^48行不行
by Xeqwq @ 2022-04-20 20:12:10
哦我知道了
```while(ch<'0'&&ch>'9'){```是什么东西 这个肯定不会满足啊
by Xeqwq @ 2022-04-20 20:13:45
@[CalmKin](/user/570330)
```cpp
int read()
{
char ch;
int val=0;
ch=getchar();
while(ch<'0'||ch>'9'){
ch=getchar();
}
while(ch>='0'&&ch<='9'){
val=(val<<1)+(val<<3)+(ch-'0');
ch=getchar();
}
return val;
}
```
这个就行了
by Xeqwq @ 2022-04-20 20:14:27
@[整活队长xeq](/user/229373) `ch^48` 是对的
by Seal_l @ 2022-04-20 20:20:07
@[整活队长xeq](/user/229373) 噢噢原来是这样,太感谢啦
by CalmKin @ 2022-04-20 21:18:44
我就不删帖子了,作为一次教训hhh
~~太羞耻了,逃~~~
by CalmKin @ 2022-04-20 21:20:18
虽然过了,但是比scanf还慢了1ms
emmm
by CalmKin @ 2022-04-20 21:21:52