用c语言的指针写一个对字符进行选择排序的函数
时间: 2023-03-16 22:44:30 浏览: 85
我可以为你提供一个简单的c语言函数,用来实现对字符串的选择排序:
void select_sort(char *str)
{
int i,j;
int len=strlen(str);
char temp;
for(i=0;i<len;i++)
{
for(j=i+1;j<len;j++)
{
if(str[i]>str[j])
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
}
相关问题
用C语言指针写一个输入字符串的函数
以下是使用指针实现输入字符串函数的示例代码:
```c
#include <stdio.h>
void input_string(char* str) {
printf("Enter a string: ");
scanf("%s", str);
}
int main() {
char str[100];
input_string(str);
printf("You entered: %s\n", str);
return 0;
}
```
该示例程序定义了一个名为`input_string`的函数,该函数接受一个指向字符数组的指针作为参数,用于存储从标准输入读取的输入字符串。在函数中,`printf`函数用于打印提示消息,`scanf`函数用于从标准输入读取字符串,并将其存储在由指针指向的字符数组中。
在主函数中,程序声明了一个名为`str`的字符数组,并将其传递给`input_string`函数。该函数读取用户输入的字符串,并将其存储在`str`数组中。最后,程序使用`printf`将读取到的字符串打印到标准输出流中。
用c语言指针写出一段字符串颠倒的函数
好的,下面是一个使用指针实现字符串颠倒的函数:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *s) {
int len = strlen(s);
char *p = s, *q = s + len - 1;
while (p < q) {
char temp = *p;
*p++ = *q;
*q-- = temp;
}
}
int main() {
char s[] = "hello world";
printf("%s\n", s);
reverse_string(s);
printf("%s\n", s);
return 0;
}
```
这个函数的实现也很简单,它使用了两个指针 `p` 和 `q` 分别指向字符串的第一个字符和最后一个字符,然后通过交换指针所指向的字符来实现字符串的颠倒。具体来说,每次交换 `p` 和 `q` 所指向的字符,并将 `p` 后移、`q` 前移,直到 `p` 和 `q` 相遇为止。注意,在交换字符时,需要使用一个临时变量来保存其中一个字符的值,否则会导致数据丢失。