快读代码level.2

时间:2019-06-29 16:28:58   收藏:0   阅读:119
long long read()
{
long long ans=0;
char last= ,ch=getchar();//last用来存正负号,并消去那些换行符,空格 while(ch<0||ch>9) { last=ch;ch=getchar();//如果不是数字类型字符,就一直读入(一直爽) } while(ch>=0&&ch<=9)//直到读入数字字符,读完一段连续的数字为止 { ans=(ans<<3)+(ans<<1);//位运算,为乘法的加快版,也就是乘以10 ans+=ch-0;ch=getchar();//加上当前一位数字 } return last==-?-ans:ans;//三目运算符,if的升级版,比if快 //话说还有用w来代替last的,也可以呀 }

直接黈力下来就行,以后用着用着理解了自己也能写出来;

完结

原文:https://www.cnblogs.com/lbssxz/p/11106577.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!