switch 中嵌套 while之妙用

今天看到一段代碼,代碼的風格與實用性無可圈之處,不過,仔細研究下,可以學到一些東西,加深了對switch的理解,代碼如下
void copy(char* dst, char* src, int len){
    
switch(len & 7{
    
default:
        
while (len > 7{
            len 
-= 8;
            
*dst++ = *src++;
    
case 7:*dst++ = *src++;
    
case 6:*dst++ = *src++;
    
case 5:*dst++ = *src++;
    
case 4:*dst++ = *src++;
    
case 3:*dst++ = *src++;
    
case 2:*dst++ = *src++;
    
case 1:*dst++ = *src++;
        }

    }

}
顯然,這是函數實現了一個字符串的拷貝。從中還是能看出,switch的本質還是goto語句。
發佈了25 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章