用C语言编写一个程序要求:定义指针数组,使其指向字符串常量:char * name[4]={“Follow”,,“Great”, “FORTRAN”,“Computer”},并进行排序。实际是对指针指向的排序,字符串不动! 要求:函数调用实现。
时间: 2024-02-29 14:52:07 浏览: 67
好的,这是一个简单的程序,可以使用冒泡排序来对指针数组进行排序,代码如下:
```c
#include <stdio.h>
#include <string.h>
void sort(char **arr, int n) {
int i, j;
char *temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (strcmp(arr[j], arr[j+1]) > 0) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
char *name[4] = {"Follow", "Great", "FORTRAN", "Computer"};
int i;
printf("Before sorting:\n");
for (i = 0; i < 4; i++) {
printf("%s\n", name[i]);
}
sort(name, 4);
printf("After sorting:\n");
for (i = 0; i < 4; i++) {
printf("%s\n", name[i]);
}
return 0;
}
```
在这个程序中,我们定义了一个指针数组 `name`,并初始化为指向字符串常量的指针。然后,我们使用 `sort` 函数对指针数组进行排序。这个函数接受一个指向指针数组的指针和数组的大小作为参数,然后使用冒泡排序对指针数组进行排序。最后,我们在 `main` 函数中调用 `sort` 函数,并输出排序前后的指针数组。
阅读全文