字符串排序--指针数组做函数参数
时间: 2023-08-12 20:42:36 浏览: 87
好的,关于字符串排序,我们可以利用指针数组作为函数参数来实现。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
void sort_strings(char *strs[], int n);
int main()
{
char *strs[] = {"hello", "world", "this", "is", "a", "test"};
int n = sizeof(strs) / sizeof(char *);
sort_strings(strs, n);
for (int i = 0; i < n; i++) {
printf("%s\n", strs[i]);
}
return 0;
}
void sort_strings(char *strs[], int n)
{
char *temp;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(strs[i], strs[j]) > 0) {
temp = strs[i];
strs[i] = strs[j];
strs[j] = temp;
}
}
}
}
```
这个程序中,我们定义了一个指针数组 `strs`,其中存储了一些字符串。我们利用 `sizeof` 运算符计算出数组的长度,然后将这个数组和长度作为参数传递给 `sort_strings` 函数。
在函数中,我们使用两层循环来对字符串进行排序,具体的排序算法是冒泡排序。注意,在排序过程中,我们使用了 `strcmp` 函数来比较字符串的大小。
最后,我们在主函数中输出排序后的字符串数组。
希望这个示例代码能够解决你的问题。如果你还有其他问题,可以继续提出。
阅读全文