将原来的字符串逆序存放abcdefgh
时间: 2024-02-11 18:06:40 浏览: 72
可以使用双指针法,从字符串的两端开始向中间遍历,交换两个指针所指的字符,直到遍历到中间位置。具体实现如下:
```
#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;
}
```
输入一个以回车结束的字符串(少于 80 个字符),将该字符串逆序 存放,输出逆序后的字符串。试用c语言编写相应程序
以下是使用 C 语言编写的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[80];
printf("请输入一个少于80个字符的字符串:");
fgets(str, 80, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉换行符
int len = strlen(str);
for (int i = len - 1; i >= 0; i--)
{
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
程序先使用 `fgets` 函数读入一个字符串,然后去掉换行符。接着使用循环逆序输出字符串。
阅读全文