#include "stdafx.h" #include "stdio.h" void out_student(char (*p)[20],int n); char (*p)[20]Data pointer (puntatore riga) void sort_student(char (*p)[20],int n); int main() {studenti di char[3][20]; int i; per (i=0; i<3; i++) scanf("%s",*(studenti+i)); Inserito out_student(studenti, 3); sort_student (studenti, 3); out_student(studenti, 3); ritorno 0;
} Vuoto out_student(Char (*p)[20],int n) //(*p) indirizzo di linea {int i; per (i=0; i<n; i++) printf("%s",*(p+i)); printf("\n");
}
//选择排序 void sort_student(char (*p)[20],int n) {int i,j; per (i=0; i<n-1; i++) {int pos=i; per (j=i+1; J<N; j++) {if(strcmp(*(p+j),*(p+pos)<0)) //strcmp(*(p+j),*(p+pos)<0) *(p+j) non può essere un indirizzo di riga, deve essere un indirizzo di colonna, il primo indirizzo di un array di primo ordine {pos=j; }
}
} se(pos!=i) {char str[20]={'\0'}; strcpy(str,*(p+pos)); *(p+pos) L'indirizzo della prima colonna della linea pos, la stringa swap strcpy(*(p+pos),*(p+i)); strcpy(*(p+i),str);
}
}
//总结:
/*二维数组表示(行地址,列地址) Il puntatore attraversa l'array Array di caratteri 2D (indirizzo riga, indirizzo colonna) */
|