-4
編譯後沒有輸出。似乎不明白這個問題。編譯時也沒有錯誤。按升序排列數組。編譯後沒有輸出。似乎不明白這個問題。?
#include<stdio.h>
void main(void)
{
int a[] = {5,4,3,2,1};
int i,j,min,b[5];
min = a[0];
for(i=0;i<sizeof(a);i++)
{
if(a[i]<min)
{
j = a[i];
a[i] = min;
min = j;
}
b[i] = min;
}
for(i=0;i<sizeof(b);i++)
{
printf("%d,",b[i]);
}
}
提示:sizeof(b)不是5. – gnasher729
您的排序算法是假的 - 這就是典型的氣泡的樣子。看看[wikipedia](https://en.wikipedia.org/wiki/Bubble_sort)。 'sizeof(a)'在* bytes *中給出數組'a'的大小。爲了得到'a'中的元素數量,你需要用'sizeof a [0]'來劃分它。同樣適用於'sizeof(b)'。 – usr
'void main'是錯誤的。 'main'應該返回'int'。 – melpomene