关于快读入与快速输出及解析

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的,也可以呀   
}

输出优化模板
相比读入,输出优化就显得没什么用处了,因为一般输出的数据仅仅有1个数字或几个,但是如果要输出方案等较长的,输出优化还是不错的选择

void print(int x)
{
 if(x<0)
 {
    putchar('-');
    x=-x;
 }
 if(x>9) print(x/10);
 putchar(x%10+'0');
 return;
}

转载于:https://www.cnblogs.com/wzztabaorz/articles/11241952.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值