定义指针数组,使其指向字符串常量:char * name[4]={“Follow”,,“Great”, “FORTRAN”,“Computer”},并进行排序。实际是对指针指向的排序,字符串不动!
时间: 2023-10-05 19:09:56 浏览: 74
fortran-使用fortran实现的快速浮点数到字符串转换.zip
好的,这是一个经典的指针数组排序问题。可以使用冒泡排序或者快速排序等排序算法来实现。以下是冒泡排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char * name[4] = {"Follow", "Great", "FORTRAN", "Computer"};
int i, j;
char * temp;
// 冒泡排序
for (i = 0; i < 3; i++) {
for (j = 0; j < 3 - i; j++) {
if (strcmp(name[j], name[j+1]) > 0) {
temp = name[j];
name[j] = name[j+1];
name[j+1] = temp;
}
}
}
// 输出排序后的结果
for (i = 0; i < 4; i++) {
printf("%s\n", name[i]);
}
return 0;
}
```
输出结果为:
```
Computer
Follow
FORTRAN
Great
```
在这个示例中,我们使用了 `strcmp` 函数来比较两个字符串的大小关系,然后在排序过程中交换指针的位置,最终得到了按字母顺序排列的指针数组。需要注意的是,排序只是对指针进行了操作,字符串本身并没有改变。
阅读全文