gpt4 book ai didi

返回字符串中 X、Y、Z 字符数的 C 函数以及如何调用它?

转载 作者:行者123 更新时间:2023-11-30 18:40:56 25 4
gpt4 key购买 nike

我需要一些帮助来解决这个问题。我对 C 还很陌生,所以这给我带来了一些麻烦。我可以用 3 个函数来完成,每个函数返回 1 个值,如下所示:

int cnt(char x, char *s) {
int b=0;

while(*s)
{
if(*s++== x) b++;
}

return b;
}

我做了其中 3 个,然后在 main 中单独调用它们。问题是我只想用一个函数来完成它。我对该函数如何工作有一个大概的了解,但我不知道如何调用它。真的很感谢能解决我的小问题。

最佳答案

始终保持您的函数通用,即使您希望它们执行专门的任务。用现代 C 语言编写的函数可能如下所示:

#include <string.h>
#include <stdio.h>

void count_chars (const char* str,
const char* keys,
size_t keys_length,
size_t result[keys_length])
{
memset(result, 0, sizeof(size_t)*keys_length);


str = (const char*) strpbrk(str, keys);

while(str != NULL)
{
for(size_t i=0; i<keys_length; i++)
{
if(*str == keys[i])
{
result[i]++;
break;
}
}

str++;
str = (const char*) strpbrk(str, keys);
}
}


int main()
{
const char str[] = "xyxyz";
const char SEARCH_KEYS[] = "xyz"
size_t length = strlen(SEARCH_KEYS);
size_t result[length];

count_chars(str, SEARCH_KEYS, length, result);

printf("X: %zu\n", result[0]);
printf("Y: %zu\n", result[1]);
printf("Z: %zu\n", result[2]);
}

关于返回字符串中 X、Y、Z 字符数的 C 函数以及如何调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24242757/

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