gpt4 book ai didi

c - 返回C中的指针,在字符串中查找值

转载 作者:行者123 更新时间:2023-11-30 19:03:20 25 4
gpt4 key购买 nike

我正在尝试学习 C。我遇到一个问题,要求我循环遍历字符串,找到一个值并返回它。

int main(void)
{

char *hello = "Hello";
char *found_char = find_char(hello, 'e');
printf("Found char: %s\n", found_char);
}

char *find_char(char *str, int c)
{
int x;
for (x = 0; str[x] != 0; x++){
if (c == str[x]){
return str[x];
}
}
}

我收到以下错误

warning:returning 'char' from a function with return type 'char *' makes pointer from integer without a cast

我有一种感觉,我返回了错误的类型,但我对指针在 C 中的工作方式仍然有点模糊。任何人都可以指出我做错了什么,或者指针中发生了什么示例问题?

最佳答案

str[x]是一个char(具体来说,它是一个char类型的对象)。

&str[x] 是指向 char 的指针,也称为 char *

您的函数被声明为返回char *。因此返回一个指向 char 的指针。

关于c - 返回C中的指针,在字符串中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54081791/

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