void sortgint bI lint n);void printarr(int b(10) void printarr(int bI D) iint #includesstdio. h> void main( for〔i=0;i10;i++) i int a 1o printf(9o5d",biD; 1212.39,5880,45 printf("a)} 32,83,36}: printf(" Before void sort(int b[ 1, int n) sort: n; printarr(a) i int i,i, t sort(a, 10) for(i=l; K<n; i++ printf("After sort: \n") for (j=0; j<n-i;j++ printarr(a) if (bibi+1 itbiliblil=bj+1;bj+1l=t 2021/2/24
2021/2/24 void sort(int b[ ],int n); 11 void printarr(int b[ ]); #include<stdio.h> void main( ) { int a[10] = {11,22,63,98,58,80,45, 32,83,36}; printf("Before sort:\n"); printarr(a); sort(a,10); printf("After sort:\n"); printarr(a); } void printarr(int b[10]) { int i; for (i=0; i<10; i++) printf("%5d",b[i]); printf("\n");} void sort(int b[ ], int n) { int i,j,t; for (i=1; i<n; i++) for (j=0; j<n-i; j++ ) if (b[j]>b[j+1]) { t=b[j];b[j]=b[j+1];b[j+1]=t; } }
12 实参赋给形参 a:2000b2000 形参b实际是一个 可以存放地址的变量 a[0 all a 2 a 3 a[4 a5 a6 a7 a[8 a[9l 11226397588045327336 b[o b[l b[2] b[3 bl4] b5 b[6 b[7 b[8 b[91 首地址: (a)排序前 2000 a[0 a[l a[2 a[3 a 4 a5 a6 a[7 a[8 a[9 11223236455863738097 b[o bl] b2 b3 b4] b5 b[6 b 7 b[8 b[91 (b)排序后 图73调用sort函数 2021/2/24
2021/2/24 12 a[0] a[1] a[2] a[3] a[4 ] a[5] a[6] a[7] a[8] a[9] b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] 11 22 63 97 58 80 45 32 73 36 (a) 排序前 a[0] a[1] a[2] a[3] a[4 ] a[5] a[6] a[7] a[8] a[9] b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] 11 22 32 36 45 58 63 73 80 97 (b) 排序后 图7.3 调用sort函数 b 2000 形参 b 实际是一个 可以存放地址的变量 a:2000 实参赋给形参 首地址: 2000