相关疑难解决方法(0)

14
推荐指数
2
解决办法
1万
查看次数

在循环条件中使用strlen()比检查null字符更慢吗?

我已经读过使用strlen比这样的测试更昂贵:

我们有一个x100个字符的字符串.

我觉得

for (int i = 0; i < strlen(x); i++)
Run Code Online (Sandbox Code Playgroud)

比这段代码贵:

for (int i = 0; x[i] != '\0'; i++)
Run Code Online (Sandbox Code Playgroud)

这是真的吗?也许第二个代码在某些情况下不起作用,所以最好使用第一个代码吗?

下面会更好吗?

for (char *tempptr = x; *tempptr != '\0'; tempptr++)
Run Code Online (Sandbox Code Playgroud)

c string-length strlen

14
推荐指数
3
解决办法
1万
查看次数

在for循环中会调用strlen()多少次?

下面的strlen()函数是否只被调用一次(存储的值用于进一步的比较); 或者每次进行比较时都会调用它?

for (i = 0; i < strlen(word); i++)
{ /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)

c loops

12
推荐指数
3
解决办法
3262
查看次数

标签 统计

c ×2

character-encoding ×1

loops ×1

php ×1

string-length ×1

strlen ×1

unicode ×1