我在大学的一次编程竞赛中被问到这个问题......
void duff(register char *to, register char *from, register int count)
{
register int n=(count+7)/8;
switch(count%8){
case 0: do{ *to++ = *from++;
case 7: *to++ = *from++;
case 6: *to++ = *from++;
case 5: *to++ = *from++;
case 4: *to++ = *from++;
case 3: *to++ = *from++;
case 2: *to++ = *from++;
case 1: *to++ = *from++;
}while( --n >0);
}
}
上面的 C 代码有效吗?如果是这样,它想要实现什么目的以及为什么有人会做上述事情?
最佳答案
是的,它被称为达夫的设备。
据我所知,它是由为电影(星球大战或类似的东西)做特效的人写的。采用这种方式编写是为了获得最大性能。
但是,我是否建议编写这样的代码:不。
保持代码的可读性!
关于c - 上面的 C 代码有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6368301/