编译后没有输出。似乎无法理解这个问题。编译时也没有错误。
#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]);
}
}
答案 0 :(得分:1)
改变这个:
sizeof(a)
到此:
sizeof(a)/sizeof(a[0])
因为sizeof
运算符以字节为单位给出数组a
的大小,而不是您想要的元素数。因此,除以数组元素的大小(以数字为单位)(数组的所有元素都具有相同的大小),这样就可以得到元素的数量。
sizeof(b)
相同。
您的算法似乎不太正确。我建议你看一下pseudocode of Bubble sort。