十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对于一个字符数组中元素逆转的方法我总结了以下的两个方法
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有福州免费网站建设让你可以放心的选择与我们合作。1.即为最常见的一个方法:创建一个新的变量对首元素进行储存,再将其与最后一位的元素进行互换,两边的地址读取再分别加上一和减去一,大致代码如下:
2.第二种方法是利用递归的方法:
对于以下创建的字符数组 arr[]="abcdef",大致方法如下:
大致思路:--
//1.先进行a以及f的交换;
//2.进行逆序--这里我创建了一个函数 reverse_string对剩下的("b c d e")进行互换;
//3.剩下的b c d e再重复上述操作,使得b与e进行交换;c再与d进行交换;
步骤详解:--
//首先将a,f取下来,将f放到a的位置,然后将f原来的位置先放一个'\0',再对bcde进行逆序;
//最后将a补回f的位置;之后按此操作重复进行即可完成任务;
代码大致如下所示:
有一个值得注意的点,在代码的62行注意不要忽略了递归的限制条件,即在奇数个字符的情况下,
例如:int arr1[] = "abcdefg",则递归到最后一层会剩下d一个字符,此时strlen(arr)==1;若在双数个字
符的条件下,例如 int arr2[]="abcdef",则递归到最后一层剩下的字符数为0,此时strlen(arr)==0;
因此递归进行的条件是 strlen(arr)>=2.
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧