在c语言中用gets 函数输入一个字符串保存在str1数组,倒序保存到str2数组,然后输出两个字符串,要求将倒序保存部分代码写成自定义函数形式void revstr (char s1[],char s2[])
时间: 2023-12-14 11:35:59 浏览: 79
408c语言数组-gets-puts-str系列-scanf字符型数组
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
void revstr(char s1[], char s2[]);
int main() {
char str1[100], str2[100];
printf("Please input a string: ");
gets(str1);
revstr(str1, str2);
printf("Original string: %s\n", str1);
printf("Reversed string: %s\n", str2);
return 0;
}
void revstr(char s1[], char s2[]) {
int len = strlen(s1);
for (int i = 0; i < len; i++) {
s2[i] = s1[len - i - 1];
}
s2[len] = '\0';
}
```
在这个程序中,我们首先使用 `gets` 函数输入一个字符串并保存在 `str1` 数组中。然后,我们调用 `revstr` 函数将 `str1` 中的字符串倒序保存到 `str2` 数组中。最后,我们输出原始字符串和反转后的字符串。
`revstr` 函数接受两个参数,即需要反转的字符串 `s1` 和反转后的结果字符串 `s2`。在函数中,我们首先计算 `s1` 的长度,并使用一个循环从字符串的末尾开始将字符逐个复制到 `s2` 中,直到整个字符串都被反转。最后,我们在 `s2` 的末尾添加一个空字符,以使其成为一个有效的 C 字符串。
阅读全文