第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

面試題-代碼解讀

面試題-代碼解讀

HUWWW 2018-08-01 18:09:15
今天面試面試官讓讀下面這段代碼,然后說出代碼作用,看了10分鐘后被面試官打斷,真沒看出這代碼到底是做什么的,取得面試官同意后拍照,自己在電腦上跑了跑,沒看出這到底是要干什么.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);  }}其實(shí)真正的結(jié)構(gòu)是這樣的: 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);      }    }
查看完整描述

2 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

貌似是在拷貝數(shù)組, (count + 7) / 8 是在計(jì)算循環(huán)次數(shù),主要是考慮有余數(shù)的情況,而且避開 0,因?yàn)?/p>

(0 + 7) / 8 == 0;
(1 + 7) / 8 == 1;
...
(8 + 7) / 8 == 1;
(9 + 7) / 8 == 2;

所以可以認(rèn)為是把從 0 起始的數(shù)組變成了從 1 起始的數(shù)組,而且按 8 個(gè)一組分

case 可以當(dāng) label 看待,switch 只有第一次循環(huán)有效,也就是處理余數(shù)部分,比如 count = 12 的時(shí)候直接從 4 開始但一輪循環(huán)完成下一個(gè)循環(huán)的時(shí)候肯定是從 7 開始的。

看程序大概是這么回事


查看完整回答
反對(duì) 回復(fù) 2018-08-05
  • 2 回答
  • 0 關(guān)注
  • 1050 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)