习题7-5 字符串逆序存放

该博客介绍如何在C语言中编写一个函数,将输入的字符串按反序存放。通过主函数输入字符串,调用该函数后输出反序字符串。讨论了针对字符串长度为偶数和奇数的不同处理方式,以及交换字符的正确方法,强调了在传参和交换过程中应注意的细节问题。
摘要由CSDN通过智能技术生成

题目描述
写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。
输入
一行字符串。
输出
输入字符串反序存放后的字符串。单独占一行。
样例输入
abcd
样例输出
dcba

交换函数思路
1.分成两种情况:
字符串个数为偶数个:
判断条件与下标的关系为:i<(strlen(a)/2)
字符串个数为奇数个:
判断条件与下标的关系为:i<(strlen(a)/2)
2.用数组保存字符串,数组名字表示是数组a第一个元素的地址,将a作为实参传给函数的时候,实际上传的是地址,是指针作为参数进行传递,所以形参应该为a.而数组a[i],表示的是第i+1个元素。
3.交换元素的语句为:
char temp = a[i];
a[i] = a[strlen(a)-(i+1)];
a[strlen(a)-(i+1)] = temp;
ps:数组a存放的是char类型元素,所以temp为char类型,a[i]=
(i+1),所以使用这种交换方式的时候,不应该把temp定义成指针变量,也就是char *类型的变量。否则会出错。

#include<cstdio>
#include<cstring>
 
 void change_a(char *a);
int main 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值