该函数应该返回一个指针,指向数组中最大的int的第一次出现,而不使用索引操作符。它可以找到并打印最大的int,但是如何使它返回一个指针?我如何测试它是否成功?C - 如何使函数返回一个指针?
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应该被使用,但我不知道如何包括它。
将最大更改为'int *',而不是将值保留在数组中,而是将指针保留在数组中。 –
你为什么要将int与char进行比较? '* k!='\ 0''可能就像这样'for(k = a; * k; k ++)' – milevyo
冗余参数'size_t n' – manetsus