我有一个这样的数组:
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/