字符串排序(指向二维数组的指针)
时间: 2023-12-14 09:34:06 浏览: 40
以下是使用指向二维数组的指针进行字符串排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define N 5
#define M 20
void sort(char (*p)[M], int n);
int main()
{
char str[N][M];
char (*p)[M];
int i;
p = str; // p指向二维数组str
for (i = 0; i < N; i++) {
scanf("%s", *(p + i));
}
printf("Original strings:\n");
for (i = 0; i < N; i++) {
printf("%s\n", *(p + i));
}
sort(p, N);
printf("Sorted strings:\n");
for (i = 0; i < N; i++) {
printf("%s\n", *(p + i));
}
return 0;
}
void sort(char (*p)[M], int n)
{
int i, j;
char temp[M];
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(*(p + i), *(p + j)) > 0) {
strcpy(temp, *(p + i));
strcpy(*(p + i), *(p + j));
strcpy(*(p + j), temp);
}
}
}
}
```