C语言循环优化二三事(一)
摘要:
一.代码移动将在循环里面多次计算,但是结果不会改变的计算,移到循环外面去。例子:优化前:void lower1(char *s){int i;for(i=0;i<strlen(s);++i) if(s[i]>='A'&&s[i]<='Z') s[i]-=('A'-'a');}优化后:void lower2(char *s){int i;int len=strlen(s);for(int i=0;i<len;++i) if(s[i]>='A'&&s[i]& 阅读全文