gpt4 book ai didi

c - strspn( ) 的实现

转载 作者:太空狗 更新时间:2023-10-29 16:05:01 26 4
gpt4 key购买 nike

库函数strspn的定义是:

size_t strspn(const char *str, const char *chars)

/* Return number of leading characters at the beginning of the string `str`
which are all members of string `chars`. */

例如如果 str"fecxdy" 并且 chars"abcdef" 那么该函数将返回 3,因为 fec 都出现在 chars 的某处,给出了 的 3 个前导字符code>strxstr 的第一个字符,它不是 chars 的成员。

谁能帮我用 C 语言编写 strspn 的实现。我唯一可以从实现中调用的库函数是 strlen

最佳答案

基本思想是逐步遍历字符串,一次一个字符,并测试它是否在字符集中。如果不是,则停止并返回答案。在伪代码中,它看起来像:

count = 0
for each character c in str
if c is not in chars
break
count++
return count

if c is not in chars 测试可以通过遍历 chars 的所有字符并测试 c 是否匹配任何字符来实现的字符。请注意,这不是最快的实现,因为它涉及为 str 中的每个字符单步执行 chars 字符串。更快的实现将使用查找表来测试 c 是否不在字符中

关于c - strspn( ) 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/813914/

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