无法进入 "if"条件。为什么?

标签 c arrays sorting pointers if-statement

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

4年前关闭。




Improve this question




这是我编写的一个函数,它根据每个数组中索引 0 处的数字对几个数组进行排序——因为在每个数组中,索引 0 处的数字等于数组中的数字数量(长度)。
并且它永远不会进入简单的“if”语句,即使它应该是因为第一个数组中索引 0 处的数字大于第二个数组中索引 0 处的数字。

    void orderSorting(int ** parr,int rows)
    {
        int i, *temp;
        for (i = 0; i < rows-1; i++)
        {
            if (parr[i][0] > parr[i + i][0])
            {
                temp = *(parr + i + 1);
                *(parr + i + 1) = *(parr + i);
                *(parr + i) = temp;
            }
        }
    }

最佳答案

if (parr[i][0] > parr[i + i][0])

应该
 if (parr[i][0] > parr[i + 1][0])

根据里面的代码,这似乎是你想要做的

关于无法进入 "if"条件。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43595906/

相关文章:

c - 在本地函数之外分配内存后,C 是否会自行释放内存?

c++ - 使用仅指定一维的多维数组

arrays - Swift 附加到带有自定义对象的数组并对它们进行排序

Java - Collection.Sort 接口(interface)对象

c - 将大写字母从 char 数组分离到新数组中,并在 C 中为其重新分配内存

c - 这个变量存储在c的内存中的什么位置?

c - 如何将结构体数组传递给 C 中的函数?

C# 两个数组的相似之处

php - 处理大型数组时如何提高php的执行速度?

python - Pandas 基于两对列进行排序