Re: [問題] 如何優化此程式

看板C_and_CPP作者 (software everywhere)時間13年前 (2011/03/02 00:20), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串5/5 (看更多)
※ 引述《truesword ( )》之銘言: : (C語言) : 以下是今天看到一個問題,主要是在問,怎樣優化一個英文大小寫轉換的函數 : 以下是我憑印象打出來的,如有打錯還請多包涵,但功能就是處理字串大寫轉小寫 : 我想到的做法是利用while判斷字串結尾,以省去strlen()的呼叫 : 除此之外,不知道是否有其他想法呢? 對記憶體空間或是執行速度優化都可以 : 程式如下 : //大寫轉小寫 : void tranform(char *s){ : int i=0; : for(i; i<strlen(s); i++){ : if(s[i]>'A' && s[i]<'Z'){ : s[i] -= 'A'-'a'; : } : } : } void transform( char *s){ char ch=0; for( ch; (ch=*s)!='\0'; s++ ){ if( isupper(ch) ){ *s=tolower( ch ); continue; } if( islower(ch) ){ *s=toupper( ch ); continue; } } } // 收工來去睡 ~~~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.26.178.215

03/02 14:50, , 1F
可讀性佳的東西XD
03/02 14:50, 1F

03/04 01:26, , 2F
可惜他要最佳化XD
03/04 01:26, 2F
文章代碼(AID): #1DRHopCn (C_and_CPP)
文章代碼(AID): #1DRHopCn (C_and_CPP)