读入快慢
cin>scnaf()>getchar()
字符串scanf("%s",s)快于一个一个字符读入
因为getchar()比scanf()要快,下面的快速读入模板只适合读取数字
inline int read(){
char ch=getchar();int x=0,f=1;
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
举例测试
1
ch=‘1‘
执行第二个while语句
x=0+1=1;
ch=getchar()=‘\n‘退出while循环
return 1*1=1;
1 2
同上,但每次只能获得一个数据
123
返回123
a
ch=a;
ch=getchar()=‘\n‘
return 0;
a1
ch=a;
ch=getchar()=1,退出第一个while()循环
ch=1;
return 1;
-1;
return -1;
原文:https://www.cnblogs.com/Emcikem/p/11423656.html