我有这段代码(我的strlen函数)
在第一种情况下,执行时间约为6.7秒,而在第二种情况下(使用
为什么会有这么大的差异?
size_t slen(const char *str)
{
size_t len = 0;
while (*str)
{
len++;
str++;
}
return len;
}
在以下代码中,使用 while (*str++)
的程序执行时间要长得多:
while (*str++)
{
len++;
}
我这样做是为了探测代码
int main()
{
double i = 11002110;
const char str[] = "long string here blablablablablablablabla"
while (i--)
slen(str);
return 0;
}
在第一种情况下,执行时间约为6.7秒,而在第二种情况下(使用
*str++
),时间约为10秒!为什么会有这么大的差异?