题目要求编写一个函数,使用指针变量作为参数,实现两个字符交换的功能。在主函数中输入一个字符串,调用字符交换函数将其中的字符按照从小到大的顺序排列后输出。
时间: 2024-03-01 13:52:07 浏览: 62
好的,我明白了。以下是实现两个字符交换的函数示例:
```c
void swap(char *a, char *b) {
char temp = *a;
*a = *b;
*b = temp;
}
```
接下来是主函数的实现,其中调用了字符交换函数:
```c
#include <stdio.h>
#include <string.h>
void swap(char *a, char *b);
int main() {
char str[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
int len = strlen(str);
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (str[i] > str[j]) {
swap(&str[i], &str[j]);
}
}
}
printf("排序后的字符串为:%s\n", str);
return 0;
}
void swap(char *a, char *b) {
char temp = *a;
*a = *b;
*b = temp;
}
```
首先我们输入一个字符串,然后获取字符串的长度,再使用两层循环遍历字符串中的每一个字符,如果前一个字符大于后一个字符,则调用字符交换函数进行交换。最后输出排序后的字符串。
阅读全文