由于长度已存储为属性,因此时间复杂度为O(1): 来源 然而,与其争辩这个琐事,不如讨论一下微观优化剧场。我们的主人公在这里和这里提供了友善的讨论;阅读这两个链接,你将找到一个好话题来改变下一次类似问题的对话氛围,无论你是否知道特定答案! 面试官对你的离题回答的反应会告诉你很多关于你想不想和他们一起工作。
strlen("te\0st") = 5
在注释中有提到。 - Willstrlen
是O(1)还是O(n)可能会产生巨大影响;只需看看sscanf
意外的O(n)实现如何导致O(n^2)解析即可。 - jamesdlin