这是目前我知道的最快的快读写了,但是我写的只有 int,要更长的话要改 long long
下面是可以判断负数的版本
#include<bits/stdc++.h> using namespace std; inline int read() { char c=getchar(); int x=0,f=1; while(!isdigit(c)){if(c=='-')f=-1;c=getchar();} while(isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar(); return x*f; } void write(int a) { if(a<0) putchar('-'),a=-a; if(a>=10)write(a/10); putchar(a%10+48); } int main() { int m=read(); write(m); return 0; }
下面是不能判断负数的版本,会更快
#include<bits/stdc++.h> using namespace std; inline int read() { char c=getchar(); int x=0; while(!isdigit(c))c=getchar(); while(isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar(); return x; } void write(int a) { if(a>=10)write(a/10); putchar(a%10+48); } int main() { int m=read(); write(m); return 0; }
在这里有一个新函数
int isdigit(int c)
主要用于检查其参数是否为十进制数字字符
若参数c为阿拉伯数字0~9,则返回非0值,否则返回0
下面是免覆墙的资料原网页度娘快照