这是我的快读:
#define MAXSIZE (1<<20)
char *p1=NULL,*p2=NULL,buf[MAXSIZE];
#ifdef DEBUG
#define gchar() getchar()
#else
#define gchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,MAXSIZE,stdin),p1==p2)?EOF:*p1++)
#endif
inline void read(char *x){
char ch=gchar();
while(ch==' '||ch=='\n'||ch=='\r')ch=gchar();
do *x++=ch,ch=gchar(); while(ch!=' '&&ch!='\n'&&ch!='\r'&&ch!=EOF);
*x='\0';
}
实现了读入字符数组。
但是我发现当文末没有换行时会RE,用了很久才发现,不太清楚哪里错了求调。