这听起来好像问题与strcmp自身一样多,就像你如何使用它一样.
将字符串与预定义字符串表进行比较的最快方法是确保字符串按字母顺序排序,然后使用二进制搜索.在哪里strcmp充当比较功能.C标准bsearch在嵌入式系统上可能是可行的,也可能是不可行的.否则,实现起来相当简单.
也就是说,除非弦的数量很大.然后在某些时候,某种方式的哈希表将比搜索更好.为了给出最佳性能的确切答案,需要数据的所有细节.
对于固定长度的字符串,您可以通过使用memcmp来改善性能- 这样您就不必检查空终止.但这确实是一种微观优化.