gpt4 book ai didi

C - 如何使函数返回指针?

转载 作者:行者123 更新时间:2023-11-30 20:12:52 28 4
gpt4 key购买 nike

此函数应返回一个指向数组中第一次出现的最大 int 的指针,而不使用索引运算符。它可以找到并打印最大的int,但是如何让它返回一个指针?以及如何测试是否成功?

int *arr_first_max(const int *a, size_t n) {
const int *k;
int largest = 0;
for (k = a; *k != '\0'; k++) {
if (*k > largest) {
largest = *k;
}
}
printf("%d\n", largest);
return &largest;
}

编辑:应该使用 size_t n 但我不确定如何包含它。

最佳答案

另一个答案假设:

  1. n 是数组 a 的长度(以元素为单位,而不是字节)
  2. 您想要迭代整个数组a

那么代码是:

const int *arr_first_max(const int *a, size_t n) {
const int *largest = a;
while(n--) {
if(*a>*largest)
largest = a;
a++;
}
printf("%d\n", *largest);
return largest;
}

关于C - 如何使函数返回指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33980213/

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