用c语言写出:输入3个字符串,按由小到大的顺序输出。(请用指针和函数调用来实现)
时间: 2023-10-31 19:32:14 浏览: 87
可以使用指针和函数调用来实现输入3个字符串,按由小到大的顺序输出的功能。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
void sort(char **str);
int main() {
char *str[3];
int i;
printf("请输入三个字符串:\n");
for (i = 0; i < 3; i++) {
str[i] = (char *) malloc(100 * sizeof(char)); // 分配字符串内存
scanf("%s", str[i]);
}
sort(str); // 调用函数排序
printf("按由小到大的顺序输出:\n");
for (i = 0; i < 3; i++) {
printf("%s\n", str[i]);
free(str[i]); // 释放字符串内存
}
return 0;
}
void sort(char **str) {
char *temp;
int i, j;
for (i = 0; i < 2; i++) {
for (j = i + 1; j < 3; j++) {
if (strcmp(str[i], str[j]) > 0) { // 比较两个字符串
temp = str[i]; // 交换两个字符串的指针
str[i] = str[j];
str[j] = temp;
}
}
}
}
```
这段代码中,首先使用 `malloc()` 函数为每个字符串分配内存,然后使用 `scanf()` 函数输入三个字符串。接着调用 `sort()` 函数对字符串进行排序,最后使用 `printf()` 函数输出结果,并使用 `free()` 函数释放字符串内存。在 `sort()` 函数中,使用 `strcmp()` 函数比较两个字符串的大小,并通过交换两个字符串的指针来实现排序。
阅读全文