将原来的字符串逆序存放abcdefgh
时间: 2024-02-11 14:06:40 浏览: 24
可以使用双指针法,从字符串的两端开始向中间遍历,交换两个指针所指的字符,直到遍历到中间位置。具体实现如下:
```
#include <stdio.h>
#include <string.h>
void reverse_string(char *s) {
int len = strlen(s);
int i = 0, j = len - 1;
while (i < j) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
i++;
j--;
}
}
int main() {
char s[] = "abcdefgh";
printf("original string: %s\n", s);
reverse_string(s);
printf("reversed string: %s\n", s);
return 0;
}
```
运行结果为:
```
original string: abcdefgh
reversed string: hgfedcba
```
相关问题
c语言字符串逆序存放
C语言字符串逆序存放可以通过指针来实现。具体实现步骤如下:
1. 定义一个字符数组,并输入字符串。
2. 定义两个指针,一个指向字符串的首地址,一个指向字符串的末地址。
3. 通过循环交换首尾指针所指向的字符,直到首尾指针相遇。
4. 输出逆序后的字符串。
以下是C语言字符串逆序存放的代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
char *p1, *p2;
p1 = str;
p2 = str + strlen(str) - 1;
while (p1 < p2) {
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
用c语言编程将一个字符串逆序存放
可以使用以下代码来实现:int n = strlen(str);
for (int i=0; i<n/2; i++){
char temp = str[i];
str[i] = str[n-i-1];
str[n-i-1] = temp;
}