上面的C代码有效吗?
我在大学的一次编程竞赛中被问到这个问题上面的C代码有效吗?,c,C,我在大学的一次编程竞赛中被问到这个问题 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++;
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代码有效吗?如果是这样的话,它想实现什么?为什么会有人做上述事情 是的,它被称为达夫装置 据我记忆所及,它是由一个为电影(星球大战或类似的东西)制作特效的人写的。这样写是为了获得最大的性能 但是,我建议您这样写代码:不
让你的代码可读 @phresnel:很抱歉,可能是我的复制品。我在一个益智网站上看到了这个问题。