下面是一個Step by Step的教程,教你如何把一個清晰的代碼變得復(fù)雜難懂的。當(dāng)然,這只是一個“簡明教程”了。
開始程序
下面是一個找出素數(shù)的程序:
下面我們來看看如何把上面這段代碼搞得復(fù)雜難懂。
第一步、把for變成while
通常來說,for循壞要以while循壞簡單一些,上面的程序有二重for循環(huán),我們不但要把其變成while循環(huán),而且還要把二重循環(huán)的變成一重的循環(huán),然后使用大量的if-else語句來判斷。
第二步,把循壞變成遞歸
遞歸在某些時候是可以把代碼變得簡單,但大多數(shù)的情況下是把代碼變得復(fù)雜,而且很沒有效率。下面是把上面的while循環(huán)變成了遞歸。變成了遞歸后,函數(shù)的參數(shù)都變成3個了。
第三步,弄亂代碼結(jié)構(gòu)/使用沒有含義的變量名
關(guān)于如何弄亂代碼結(jié)構(gòu),其中一個小技巧是,使用“?”表達(dá)式代替if-else語句。
第四步,取消臨時變量
臨時變量一般用來保存反復(fù)使用的一個表達(dá)式的值。使用大量重復(fù)的表達(dá)式來取消這些臨時變量的也可以讓代碼復(fù)雜起來。
第五步,繼續(xù)弄亂變量名
我們知道,下劃線是合法的變量名,所以,我們不妨用__,___,____來代替m,t,c。函數(shù)名也可以使用下劃線來代替。讓我們來看看求素數(shù)的函數(shù)能變成什么。
第六步,移除常量
在上面的程序中,還有一些常量,你可以通過增加一個宏定義,或是增加一個函數(shù)的形參來取代這一常量。
程序到這里應(yīng)該差不多了。類似的錯誤,你犯了嗎?
名稱欄目:混亂C源代碼的幾個錯誤,你犯了嗎?-創(chuàng)新互聯(lián)
瀏覽地址:http://www.chinadenli.net/article16/jiggg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、做網(wǎng)站、網(wǎng)站策劃、外貿(mào)建站、營銷型網(wǎng)站建設(shè)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容