用c语言编写函数,将一个字符串逆序
时间: 2024-01-21 18:15:59 浏览: 27
以下是用 C 语言编写的函数,可以将一个字符串逆序:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int len = strlen(str);
int i = 0, j = len - 1;
char temp;
while (i < j) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
该函数使用了一个 while 循环,将字符串首尾对称位置的字符交换,从而实现字符串翻转。在输入字符串时,需要确保其长度不超过 100。
相关问题
编写C语言代码,讲一个字符串逆序
可以使用C语言的字符串函数来实现字符串的逆序,具体实现方法如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int i, j;
char temp;
for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
在上面的代码中,我们定义了一个 `reverse` 函数,用来逆序字符串。该函数采用双指针法,从字符串的两端开始遍历,将对应位置的字符进行交换,直到遍历到中间位置。然后在 `main` 函数中,我们输入一个字符串,调用 `reverse` 函数进行逆序,最后输出逆序后的字符串。
用c语言实现:输入一个字符串,使用函数将它逆序存放
好的,我们可以使用指针来实现字符串的逆序存放。具体的实现代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str);
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("字符串逆序存放后为:%s\n", str);
return 0;
}
void reverse(char *str)
{
int len = strlen(str);
char *p1 = str; // 指向字符串首地址
char *p2 = str + len - 1; // 指向字符串末尾
char temp;
while (p1 < p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
```
在这个程序中,我们首先使用 `scanf()` 函数从用户输入中读取一个字符串,并将其存储在字符数组 `str` 中。然后,我们调用 `reverse()` 函数来将字符串逆序存放。在 `reverse()` 函数中,我们使用指针 `p1` 和 `p2` 分别指向字符串的首地址和末尾地址。然后,我们交换 `p1` 和 `p2` 指向的字符,并将指针向字符串中间移动,直到 `p1` 和 `p2` 相遇为止。最终,字符串就被逆序存放了。