gpt4 book ai didi

c - 我对数组索引感到困惑

转载 作者:行者123 更新时间:2023-11-30 21:22:17 26 4
gpt4 key购买 nike

以下选择排序代码在 a[p]>a[j] 行中产生问题,为什么?尽管如果我将 a[i] 而不是 a[p] 放在它工作正常

for (i=0; i<n; i++){
p=i;
for (j=i+1; j<n; j++) {
if(a[p] > a[j]) {
p=j;
t=a[i];
a[i]=a[p];
a[p]=t;
}
}
}

最佳答案

线路p=j;在内循环中发生变化p 。这会导致pi 不同稍后,当 if(a[p]>a[j])用新的 j 进行评估.

您的代码不需要p根本不。测试可以仅仅是if (a[i] > a[j]) ,循环内的代码可以是:

t = a[i];
a[i] = a[j];
a[j] = t;

看看你的代码,你似乎认为你需要记录 ijp暂时然后使用p 。那是没有必要的。使用 i 的值或j ,只需使用 ij .

关于c - 我对数组索引感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58032925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com