c - 错误: ordered comparison between pointer and integer ('int' and 'int **' )

标签 c pointers while-loop return malloc

ft_ultimate_range.c:14:13: error: ordered comparison between pointer and integer ('int' and 'int **') [-Werror]

"while (min < range)"

#include <stdio.h>
#include <stdlib.h>

int ft_ultimate_range(int **range, int min, int max)
{
    int size;
    int i;

    size = max - min;
    if (min >= max)
        return (0);
    *range = (int*)malloc(sizeof(int) * size);
    i = 0;
    while (min < range)
    {
        range[0][i] = min;
        i++;
        min++;
    }
    return (size);
}

int main()
{
    int one = 2;
    int two = 6;
    int number = 3;
    int *pt1 = &number;
    int **pt2 = &pt1;


    printf("%i\n", ft_ultimate_range(pt2, one, two));
    return (0);
}

什么是错误?

最佳答案

如果 range 是一个二维数组,则您正在将 int(min) 与整个二维数组 int**(range) 进行比较,这是无效的。

//while (min < range) //min is integer, range is 2d array. comparison is invalid. 
while (min < range[i][0]) //compare with value of 2darray instead

关于c - 错误: ordered comparison between pointer and integer ('int' and 'int **' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58314383/

相关文章:

java - 为什么我的迭代器remove()方法没有删除任何东西?

c# - 需要两次尝试才能打破我的 while 循环

java - 使用 while 循环和递归方法计算 Pi (Java)

c - Linux 上的 UDP 或 TCP 缓冲区大小应该有多大?

c - 与 GHC 链接

c - 在 C 中构建 memcmp 函数

c - 用于保存函数指针的整数类型?

c - 在 SPI STM32 中读取 Rx 缓冲区的问题

c - C中,编译时查找全局const变量值

c++ - 如何使用指针从不同的函数访问局部变量?