将一个字符串的内容逆序存储。C
时间: 2024-09-07 09:03:56 浏览: 102
真的可以是逆序输出任意字符串
4星 · 用户满意度95%
将字符串内容逆序存储可以通过编写一个函数来实现,这个函数会将字符串中的字符按照相反的顺序排列。下面是一个简单的C语言函数示例,它使用了C标准库函数进行操作:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void reverseString(char *str) {
int len = strlen(str);
char *reverse = (char *)malloc(sizeof(char) * (len + 1)); // 为逆序字符串分配空间
if (reverse == NULL) {
exit(EXIT_FAILURE); // 内存分配失败,退出程序
}
for (int i = 0; i < len; i++) {
reverse[i] = str[len - 1 - i]; // 逆序填充字符
}
reverse[len] = '\0'; // 设置字符串结束符
strcpy(str, reverse); // 将逆序后的字符串复制回原字符串
free(reverse); // 释放分配的内存
}
int main() {
char str[] = "Hello, World!";
printf("Original String: %s\n", str);
reverseString(str);
printf("Reversed String: %s\n", str);
return 0;
}
```
这个程序首先计算原字符串的长度,然后分配足够的内存来存储逆序后的字符串。之后,它通过从原字符串的末尾开始逐个字符地复制到新分配的内存中来实现逆序。最后,使用`strcpy`函数将逆序后的字符串复制回原字符串的位置,并释放之前分配的内存。
阅读全文