#include<stdio.h>
int main()
{
int num[10];
int i,j,temp;
for ( i = 0 ; i < 10 ; i++ )
{
scanf("%d",&num[i]);
}
for ( i = 0 ; i < 10 ; i++ )
{
printf("%d\t",num[i]);
}
printf("\n");
for ( i = 0 ; i < 9 ; i++ )
{
for( j = 0 ; j < 9-i ; j++ )
{
if( num[j] > num[j+1] )
{
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
for ( i = 0 ; i < 10 ; i++ )
printf("%d ",&num[i]);
return 0;
}
这串代码结果如下:
2 3 4 6 7 8 5 1 9 0
6356684 6356688 6356692 6356696 6356700 6356704 6356708 6356712 6356716 6356720
6356684 6356688 6356692 6356696 6356700 6356704 6356708 6356712 6356716 6356720
而另一串代码
#include<stdio.h>
void sort(int a[],int n); /*函数声明*/
int main()
{
int s[10],i;
for ( i = 0 ; i < 10 ; i++ )
{
scanf("%d",&s[i]);
}
for ( i = 0 ; i < 10 ; i++ )
{
printf("%d\t",&s[i]);
}
printf("\n");
sort(s,10); /*函数调用*/
for(i=0;i<10;i++)
printf("%d ",s[i]);
printf("\n");
return 0;
}
void sort(int a[],int n) /*函数定义,按冒泡方法排序*/
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
结果是正确的
2 3 4 6 7 8 5 1 9 0
6356692 6356696 6356700 6356704 6356708 6356712 6356716 6356720 6356724 6356728
0 1 2 3 4 5 6 7 8 9