【发布时间】:2010-03-03 17:36:32
【问题描述】:
我了解到在我的 for 循环条件中调用 strlen() 是一种不好的做法,因为这是一个 O(N) 操作。
但是,在寻找替代方案时,我看到了两种可能的解决方案:
int len = strlen(somestring);
for(int i = 0; i < len; i++)
{
}
或者...
for(int i = 0; somestring[i] != '\0'; i++)
{
}
现在,第二个选项似乎具有以下优点:1)不声明不必要的变量,以及 2)如果在循环中修改字符串长度,只要长度不是,它仍然应该到达末尾 但是,我不确定。以下哪一项是 C 程序员的标准做法?
【问题讨论】: