题目描述
写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。
输入
一行字符串。
输出
输入字符串反序存放后的字符串。单独占一行。
样例输入 Copy
abcd
样例输出 Copy
dcba
参考代码
#include<stdio.h>
#include<string.h>
void reserve(char str[]) { //一维数组不需要填写数组长度,二维数组只需要填写第二维度的长度
int len = strlen(str);
//思路一:用另外一个数组存储,逆序输出
/* char tempStr[20];
for(int i = 0; i < len; i++) {
tempStr[i] = str[i];
}
for(int i = 0; i < len; i++) {
str[i] = tempStr[len - i - 1];
} */
//思路二:将数组元素分成两半,交换顺序
for(int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
} //数组作为参数的时候,对数组的修改就相当与直接对原数组元素的修改
int main() {
char str[20];
gets(str);
reserve(str);
puts(str);
return 0;
}