提交记录 6950


用户 题目 状态 得分 用时 内存 语言 代码长度
daklqw 1007. 测测你的memset Compile Error 0 0 ns 0 KB C++ 697 B
提交时间 评测时间
2018-11-20 11:28:27 2020-08-01 00:54:23
void my_memset(char * a, char c, unsigned n) {
	unsigned tc = c;
	unsigned val = tc << 24 | tc << 16 | tc << 8 | tc;
	while (reinterpret_cast<unsigned long> (a) % 4 != 0 && n) {
		*a++ = c;
		--n;
	}
	if (!n) return ;
	char * tar = a + n;
	unsigned blo = n / 4;
	char * be = a + blo * 4;
	unsigned * ed = reinterpret_cast<unsigned*> (be);
	unsigned * st = reinterpret_cast<unsigned*> (a);
	for (; st + 16 < ed; ) {
		*st++ = val; *st++ = val; *st++ = val; *st++ = val;
		*st++ = val; *st++ = val; *st++ = val; *st++ = val;
		*st++ = val; *st++ = val; *st++ = val; *st++ = val;
		*st++ = val; *st++ = val; *st++ = val; *st++ = val;
	}
	while (st != ed) *st++ = val;
	while (be != tar) *be++ = c;
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-09 05:44:59 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠