討論串[問題] 如何優化此程式
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 4→)留言4則,0人參與, 最新作者truesword ( )時間13年前 (2011/03/01 23:02), 編輯資訊
3
0
0
內容預覽:
(C語言). 以下是今天看到一個問題,主要是在問,怎樣優化一個英文大小寫轉換的函數. 以下是我憑印象打出來的,如有打錯還請多包涵,但功能就是處理字串大寫轉小寫. 我想到的做法是利用while判斷字串結尾,以省去strlen()的呼叫. 除此之外,不知道是否有其他想法呢? 對記憶體空間或是執行速度優化
(還有97個字)

推噓5(5推 0噓 8→)留言13則,0人參與, 最新作者lui (i want to be one)時間13年前 (2011/03/01 23:12), 編輯資訊
0
0
0
內容預覽:
簡單看上去有三個地方可改. 1. strlen(s)只要做一遍就好了 現在是for-loop每一次跑一次. 2. ++i比i++快. 3. 'A' - 'a'只要做一遍就好了. const char c = 'A' = 'a';. const int size = strlen(s);. for (

推噓3(3推 0噓 2→)留言5則,0人參與, 最新作者tropical72 (藍影)時間13年前 (2011/03/01 23:24), 編輯資訊
1
0
0
內容預覽:
你提到的, 可以不調用 strlen(s). 上一篇提到的, i++ 改 ++i, 也提到建表,. 提供另一個方法. hex binary. A: 41h 0100 0001. B: 42h 0100 0010. a: 61h 0110 0001. b: 62h 0110 0010. ---> a
(還有46個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者proach (pazroach)時間13年前 (2011/03/02 00:08), 編輯資訊
0
0
0
內容預覽:
不要用 s[i]. CPU每次都得讀取 char* s的值,加上i,再拿出來用。. 試試看用一個 pointer,一開始就指向 char* s,之後每次 pointer++。. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 114.43.195.210.

推噓2(2推 0噓 0→)留言2則,0人參與, 最新作者softwind (software everywhere)時間13年前 (2011/03/02 00:20), 編輯資訊
0
0
0
內容預覽:
void transform( char *s){. char ch=0;. for( ch; (ch=*s)!='\0'; s++ ){. if( isupper(ch) ){. *s=tolower( ch );. continue;. }. if( islower(ch) ){. *s=tou
首頁
上一頁
1
下一頁
尾頁