帮我用C语言指针写出来字符串排序,例如输入:banana orrange apple
时间: 2024-05-06 15:16:42 浏览: 117
好的,下面是用指针实现字符串排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void sort_strings(char *strings[], int n);
int main() {
char str[MAX_LEN];
char *strings[MAX_LEN];
int n = 0;
printf("请输入字符串,以空格分隔:\n");
fgets(str, MAX_LEN, stdin);
// 将输入的字符串分割为多个子串,并保存到字符串数组中
char *token = strtok(str, " ");
while (token != NULL) {
strings[n++] = token;
token = strtok(NULL, " ");
}
// 调用字符串排序函数
sort_strings(strings, n);
// 输出排序后的字符串
printf("排序后的字符串为:\n");
for (int i = 0; i < n; i++) {
printf("%s", strings[i]);
}
return 0;
}
void sort_strings(char *strings[], int n) {
char *temp;
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
// 交换两个字符串指针
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp;
}
}
}
}
```
运行结果:
```
请输入字符串,以空格分隔:
banana orrange apple
排序后的字符串为:
applebananaorrange
```
阅读全文