gpt4 book ai didi

c - 一个计算字符串中有多少个不同字符的函数

转载 作者:行者123 更新时间:2023-11-30 20:14:02 24 4
gpt4 key购买 nike

我在网上找到了这个功能,我发现它非常有用但我是编程新手,有人可以简要解释一下它到底是做什么的

 #include <stdio.h>

int diffcount(char* s)
{
unsigned char seen[127];
int cnt=0,i;
for(i=0;i<127;i++)
seen[i]=0;
for(i=0;s[i];i++)
{
if(!seen[(int)s[i]])
{
cnt++;
seen[(int)s[i]]=1;
}
}return cnt;
}

int main(void) {
char string[20];
scanf("%s",string);
printf("Razlicitih znakova: %d\n", diffcount(string));

return 0;
}

最佳答案

首先,我们初始化一个由零组成的空数组 int seen[127];seen”数组用于查找数组s中是否遇到了代码为i的字符:if saw[i]==1(char)i 位于字符串 s 中。

之后,我们循环遍历 char* s 并通过查看 seen[ 的值来检查 char s[i] 是否已经满足s[i]]; 如果它是 false,我们将 seen[s[i]]=true (因为我们遇到了它)并增加我们的计数器。函数的结果是变量cnt的值

这也可能有帮助:每个字符的代码在 0 到 127 之间。例如,(int)'a' = 97。C 中的 bool 与 int 相同,这就是为什么我们有时使用 0 和 1 而不是 true 和 false

关于c - 一个计算字符串中有多少个不同字符的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28053118/

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