快速输出
整理一下快输的板子,方便自己复制
putchar优化版由于还没有printf快,这里就不放了
直接来fwrite版:
PS:程序结束之前需要再调用一次flush函数
putchar优化版由于还没有printf快,这里就不放了
直接来fwrite版:
char buf[1 << 21];
int p1 = -1;
const int p2 = (1 << 21) - 1;
void flush()
{
fwrite(buf, 1, p1 + 1, stdout);
p1 = -1;
return;
}
void pc(char x)
{
if (p1 == p2)
flush();
buf[++p1] = x;
return;
}
void write(int x)
{
char buffer[10];
int len = -1;
if (x >= 0)
{
do
{
buffer[++len] = (x % 10) | 48;
x /= 10;
} while (x);
}
else
{
pc('-');
do
{
buffer[++len] = -(x % 10) | 48;
x /= 10;
} while (x);
}
while (len >= 0)
pc(buffer[len--]);
return;
}
PS:程序结束之前需要再调用一次flush函数
评论
发表评论