c语言编程:定义指针数组,使其指向字符串常量:char * name[4]={“Follow”,,“Great”, “FORTRAN”,“Computer”},并进行排序。实际是对指针指向的排序,字符串不动! 要求:函数调用实现。
时间: 2023-10-06 17:08:08 浏览: 106
可以使用冒泡排序法对指针数组进行排序。代码如下:
```c
#include <stdio.h>
#include <string.h>
void sort(char **name, int n);
int main() {
char *name[4] = {"Follow", "Great", "FORTRAN", "Computer"};
sort(name, 4);
for (int i = 0; i < 4; i++) {
printf("%s\n", name[i]);
}
return 0;
}
void sort(char **name, int n) {
char *temp;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (strcmp(name[j], name[j+1]) > 0) {
temp = name[j];
name[j] = name[j+1];
name[j+1] = temp;
}
}
}
}
```
在main函数中,我们定义了一个指针数组`name`,并初始化了它的四个元素。然后调用`sort`函数进行排序,最后输出排好序的结果。
在`sort`函数中,我们使用了冒泡排序法对指针数组进行排序。通过使用`strcmp`函数来比较两个指针所指向的字符串的大小关系,从而实现指针数组的排序。
阅读全文