🌹作者:云小逸
📝个人主页: 云小逸的主页
📝码云: 云小逸 (YunXiaoYi003) - Gitee.com
🤟motto:要敢于一个人默默的面对自己, ==强大自己才是核心==。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟
👏专栏:C语言初阶👏
前言
——————————————————————————————
首先先写上几句话:献给坚持创作的我和点开这篇文章希望进步的你
1、人初做事,如鸡伏卵,不舍而生气渐充。如燕营巢,不息而结构渐牢。如滋培之木,不见其长,有时而大。如有本之泉,不舍昼夜,盈科而后进,放乎四海。——曾国藩这是我最喜欢的一句名言,每次读,都会让浮躁的心更静一些,更稳一些。「不见其长,有时而大」八个字尤为值得琢磨。
2、先干起来,逢山开路,遇水搭桥,有什么问题解决什么问题。坐在那里幻想找到一个神奇的、一劳永逸的解决方案是毫无意义的,干起来,面对问题,解决问题,是我能够想到的最快的进步途径。
题目要求:
将参数字符串中的字符==反向排列==,不是==逆序打印==
解法1(无函数,非递归)
代码:
#include<stdio.h>
#include<string.h>
int main(void)
{
char arr[] = "abcdef";//a,b,c,d,e,f,\0共六个字符
int left = 0;
int right = strlen(arr) - 1;//strlen是遇到\0就停止,不包含\0
while (left < right)
{
char temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
printf("%s\n", arr);
return 0;
}
结果:
解法二(函数,非递归)
代码:
结果:
解法三(函数,递归)
代码:
#include<stdio.h>
#include<string.h>
void resverse(char* str)
{
char temp = *str;//1
int len =strlen(str);
*str = *(str + len - 1);//2
*(str + len - 1) = '\0';//3
if (strlen(str + 1) >= 2)
{
resverse(str + 1);//4
}
*(str + len - 1) = temp;
}
int main(void)
{
char arr[] = "abcdef";//a,b,c,d,e,f,\0共六个字符
resverse(arr);
printf("%s\n", arr);
return 0;
}
结果:
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
1.做==更好的自己==,而不是完美的别人。
2.谁都愿意做自己喜欢的事情,可是,做你该做的事情,才叫成长。
3.活成一个真正有形的人,而不是—摊肉、一团混乱不堪的情绪。
4.放弃很容易,但坚持—定很酷。
5.知识不是力量,知识用起来才是力量。
6.人生只有两个选择,要么忙着死,要么忙着活! ==熬得住就出众,熬不住就出局==,你的野心很大,所以没资格停下。
7.白天归顺生活,夜晚忠于自己
最后如果觉得我写的还不错,请不要忘记==点赞==✌,==收藏==✌,加==关注==✌哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!