我是编码的新手,希望有人可以为我阐明这一点。我理解for循环是如何工作的(我认为)。 我的问题是关于这个If语句。我只是对If语句中的条件感到困惑。如何条件“someNums [b]>如果someNums [b + 1]总是比someNums [b]多1个,那么someNums [b + 1]“会评价为真吗?
我觉得有点失落,所以任何帮助都会非常感激!!此外,此代码与冒泡排序有关。
for(b = 0; b < someNums.length - 1 ; ++b)
{
if(someNums[b] > someNums[b + 1])
{
temp = someNums[b];
someNums[b] = someNums[b + 1];
someNums[b + 1] = temp;
}
}
答案 0 :(得分:0)
someNums[b+1]
不大于someNums[b]
。索引是1,但是(例如)在的情况下
someNums = [1,2,3,1], b = 2
,someNums[b]
为3,someNums[b+1]
为1。
答案 1 :(得分:0)
someNums这里的数组可能像[5,4,3,2,1],如果someNums [0]&gt; someNums [1],你比较索引0和1的数字你做得很好然后你交换这两个数字。不要将someNums [0]与某些小于someNums [1]的值混淆,它们实际上会告诉数组中值的位置。
答案 2 :(得分:0)
我假设someNums是一个数组。 在这种情况下,[]内的字符指的是所述数组的第n个元素。 例如:
int someNumbs[4] = {3, 8, 5, 1};
printf("%d", someNumbs[2]);
printf("\n\n--------");
return 0;
这将显示'5'。 如您所见,第3个元素的值大于第4个元素,尽管后者具有更大的索引。
答案 3 :(得分:0)
你需要在someNums
作为收件人思考,让我们说一个抽屉柜,你有抽屉。
每个抽屉都由他的索引调用,但是从零而不是1开始(所以someNums[2]
是第三个抽屉)。
每个抽屉里都有东西......
因此,比较someNums[b]
和someNums[b+1]
,您正在检查两个相邻抽屉内的东西[: