#include <stdio.h>
int main(int argc, char *argv[])
{
int a[4] = {20, 4, 7, 8};
for (int i = 0; i < 4; i )
{
for (int j = 0; j < 4;
j )
{
if (a[i] < a[j])
{
a[i] = a[j];
}
}
printf("%d\n", a[i]);
a[0] = 20;
a[1] = 4;
a[2] = 7;
a[3] = 8;
}
}
我只是試圖將輸出顯示為降序但沒有得到預期的結果
預計:20 8 7 4
錯誤如下:20 20 20 20
- 請幫我糾正..
uj5u.com熱心網友回復:
您沒有與交換 ,您只是將值復制到 to 。a[i]a[j]a[j]a[i]
要進行交換,您需要三個操作:
int tmp = a[i]; // save the value of a[i]
a[i] = a[j]; // write a[j] to a[i]
a[j] = tmp; // write saved value of a[i] to a[j]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/523648.html
標籤:C
上一篇:使用指標交換陣列
下一篇:為什么程式的退出狀態很重要?
