strlen的糟糕用法

本文最后更新于:2023年8月23日 早上

strlen的糟糕用法

1
2
3
4
5
char s[100]="test";
for(int i=0;i<strlen(s);i++)
{
s[i]=s[i]+1
}
  • strlen函数的执行都是需要时间的,而且时间和字符串的长度成正比

  • 每次循环都需要调用strlen函数,这是效率上的很大浪费
    修正用法

  • 应取出s的长度存放在另一个变量里面,然后在循环的时候使用该变量

1
2
3
4
5
6
char s[100]="test";
int len=strlen(s);
for(int i=0;i<len;i++)
{
s[i]=s[i]+1
}
  • 或直接将判断条件改为s[i]
1
2
3
4
5
char s[100]="test";
for(int i=0;s[i];i++)//s[i]以'\0'结尾,刚好其ASCII码为0
{
s[i]=s[i]+1
}

strlen的糟糕用法
https://furthur509.github.io/2023/08/23/strlen的糟糕用法/
作者
Yang Mingxin
发布于
2023年8月23日
许可协议