void lower(char *s)
{
size_t i;
for (i = 0; i < strlen(s); i++)
if (s[i] >= 'A' && s[i] <= 'Z')
s[i] -= ('A' - 'a');
}
void lower(char *s)
{
size_t i;
size_t len = strlen(s);
for (i = 0; i < len; i++)
if (s[i] >= 'A' && s[i] <= 'Z')
s[i] -= ('A' - 'a');
}
strlen每次循环都在执行,把他给个变量只算一次就好了,虽然代码多了但是速度会变快
有用请采纳
void lower(char* s){
size_t i;
int subValue = 'A' - 'a'; // 减少减法次数
for (i = 0; i < strlen(s); i++)
if (s[i] >= 'A' && s[i] <= 'Z')
s[i] -= subValue;
}
问崔孝成