c++ - 整数比较不正确或不比较

标签 c++ arrays int

我有一个这样的数组:

int array[] = { 1,3,2,5,4,7,6,9,8,10 };

当我尝试遍历数组并比较数字时,没有一个触发 if 条件从而触发交换:

for( int i=0; i<9; i++)
{
    if (array[i] > array[i++])
    {
    cout << "Swapping" << array[i] << " " << array[i++]<< endl;
    int temp = 0;
    temp = array[i];
    array[i] = array[i++];
    array[i++] = temp;
    temp = 0;
}

是否有一些我遗漏的比较整数的细节?他们是否因为在数组中而受到不同对待?

最佳答案

i++ 表示“返回 i 并设置 i = i + 1”。因此,每次您使用 i++ 时,您都会将 i 增加一个,这会破坏循环。使用 i+1 代替。

关于c++ - 整数比较不正确或不比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975229/

相关文章:

c++ - Const 正确性、std 移动和智能指针

c++ - 如何检测 make 依赖列表中的 header 更改

c++ - 用模板专门化模板

javascript - 防止初始数组排序

c++ - 保存未知数量的 int 和 char 输入

java - 在 java 中将 int 转换为 string 给出的答案为 1

python - 为什么我的新分割数组元素被视为非 int 值?

c++ - LuaJIT lib 使用/MD 构建但不会导致运行时库与/MDd 程序不匹配?

c - 结构变量中的数组成员

c - 冒泡排序函数中另一个数组的指针数组 (C)