Re: [問題] 如何優化此程式
※ 引述《tropical72 (藍影)》之銘言:
: ※ 引述《truesword ( )》之銘言:
: : (C語言)
: : //大寫轉小寫
: : void tranform(char *s){
: : int i=0;
: : for(i; i<strlen(s); i++){
: : if(s[i]>'A' && s[i]<'Z'){
: : s[i] -= 'A'-'a';
: : }
: : }
: : }
: 你提到的, 可以不調用 strlen(s)
: 上一篇提到的, i++ 改 ++i, 也提到建表,
: 提供另一個方法
: hex binary
: A: 41h 0100 0001
: B: 42h 0100 0010
: a: 61h 0110 0001
: b: 62h 0110 0010
: ---> a = A | 0x20, b = B | 0x20
: 有沒有建表快就待測了..
不要用 s[i]
CPU每次都得讀取 char* s的值,加上i,再拿出來用。
試試看用一個 pointer,一開始就指向 char* s,之後每次 pointer++。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.195.210
討論串 (同標題文章)