用c语言编程一个函数,使得输入的一个字符串反序存放
时间: 2023-03-10 13:36:27 浏览: 100
基本思路是:首先创建一个空字符串,然后从输入字符串的末尾开始,顺序读取每一个字符,将其追加到空字符串中,最后将空字符串输出即可。具体的代码实现如下: char *reverse_string(char *str) {
int n = strlen(str);
char *rev = (char *)malloc(n+1);
for (int i=n-1; i>=0; i--)
rev[n-i-1] = str[i];
rev[n] = '\0';
return rev;
}
相关问题
c语言编写一个函数 将主函数中输入的字符串反序存放
好的,我可以为您编写一个反转字符串的函数。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int len = strlen(str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverseString(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
在这个函数中,我们使用了 `strlen()` 函数来获取输入字符串的长度,然后使用两个指针 `i` 和 `j` 来指向字符串的首尾字符。在循环中,我们交换了这两个指针所指向的字符,直到指针相遇。最后输出反转后的字符串即可。
希望这个代码示例能够帮助到您。如果您有任何其他问题,请随时问我。
用c语言编写一个函数,使得输入的一个字符串反序存放,尽量简单点
答案:
可以使用以下代码实现:
int len = strlen(str);
for (int i = 0; i < len / 2; i++)
{
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}