摘要: 1. 就C字串來說,從頭到尾的遍歷不需要for,用while是最佳選擇。
2. strlen是很浪費(fèi)的操作,如果非要用,對(duì)同一個(gè)不變長度的字串來說,用一個(gè)變量來存儲(chǔ),然后重復(fù)使用,比重復(fù)計(jì)算strlen要好得多。
3. 對(duì)數(shù)字串來說,可以直接將字符減去'0'得到相應(yīng)的數(shù)字。
4. 比較判斷其實(shí)并不比賦值省時(shí),有時(shí)候直接賦值,比起比較后再賦值可能更有效率。更何況你的判斷條件達(dá)三條之多才決定是否需要賦值。
所以if(a[i+1]=='0'/*或'1'*/||i==strlen(a)-1)可以省掉。
5. 利用數(shù)組的下標(biāo),會(huì)給你帶來意想不到的簡(jiǎn)潔。
6. 最后,變量沒有初始化,是算法設(shè)計(jì)的問題。如果初始條件都沒有確定,只能說明你的算法沒有想清楚。
閱讀全文