gpt4 book ai didi

c - 在执行 strcmp 之前检查第一个字符有用吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:53 25 4
gpt4 key购买 nike

以下哪个更有效:

if (strcmp(str1,str2) != 0) {
...
}

if (str1[0]!=str2[0] && strcmp(str1,str2) !=0 ) {
...
}

如果str2总是唯一的,str1可以有多个。

最佳答案

不需要第二个版本,因为 strcmp 通常非常巧妙地实现一次比较多个字符。

在第二个版本中,由于&& 的短路属性,您可以节省一个函数调用。您应该根据您的要求对这两个版本进行基准测试以获得正确的想法。

但我的建议仍然是,不需要版本 2 (str1[0]!=str2[0] && strcmp(str1,str2) !=0 ) 除非 strcmp 被证明是您要求的瓶颈(在分析结果中),并且有证据表明版本 2 的性能更好。

关于c - 在执行 strcmp 之前检查第一个字符有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24988948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com