What does the following example do?
题目
What does the following example do?
void send(int* to,int* from,int count)
{
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);
}
}
//The C++ Programming Language (Third Edition) CH6 - 15
答案
主要目的是把从from开始拷贝数据到to.
拷贝数量是 ( ( ( count + 7 ) % 8 ) - 1 ) * 8 + ( count % 8 ) 个元素.
第一次从count%8开始,依次执行 case count%8-1,case count%8-2 ..到
case 1,
然后循环n-1次,执行 do {} 中间的代码.
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 英语中any,some和many的区别
- 什么数除以2等于8余5除数最少应该是几
- 英语翻译
- 洎牧以谗诛,邯郸为郡,惜其用武而不终也.怎么翻译
- 一个三角形三条边的长分别是三分之一米、九分之五米和十八分之七米,这个三角形的周长是多少米?
- 葡萄糖由小肠上皮细胞进入血液的动力是依靠浓度差还是主动运输的能量
- X,-3X的二次方,5X的三次方,-7X的四次方,9X的五次方...按此规律,可以得到第20个单项式是?第n个单项式
- 31÷5+32÷5+33÷5+34÷5=_.
- 有甲乙两袋米,甲袋装米35kg,如果从乙袋倒出五分之一给甲袋,乙袋比甲袋还多10kg.乙袋原来装米多少千克?
- 读了《盲人摸象》你想到了谁的诗?其中名句是?