这篇文章将为大家详细讲解有关C语言中怎么求字符串长度和字符串反转,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
我们提供的服务有:网站设计制作、成都网站设计、微信公众号开发、网站优化、网站认证、横山ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的横山网站制作公司首先我们先在main函数里面定义一个字符串数组,char *Qwe="abcdef";然后定义两个指针p,q同时指向字符串的首地址,p指针不动一直指向首地址,当q指针的内容!="\0"时,它的地址一直加加,当它的内容="\0"时,用q指针指向的地址减去p指针指向的地址,得到的就是该字符串的长度。
#include#include int my_strlen(char *Xsw) { char *q=Xsw; char *p=Xsw; while (*q!='\0') { q
} return (q-p); } int main() { char *Xsw="zxcvbnm"; int ret=my_strlen(Xsw); printf("%d",ret); return 0; }
通过上面的分享想必我们已经知道如何自己编写一个代码输出字符串的长度了。接下来我想分享的是如何将一个字符串反转输出。
首先我们的先定义一个字符串数组,char arr[]="abcdef";然后定义两个指针char* left,char* right,left指针指向字符串的首地址,right指针指向字符串的最后一个字符的地址,断言一下left指针和right指针是否存在,如果存在,当left指针指向的地址小于等于right指针指向的地址时,我们新定义一个变量char tmp,用类似交换数的方法,先将left指针所指向的内容放入tmp中,再将right指针指向的内容放入left中,最后将tmp中存入left指针指向的内容放入right中,left指针的地址加加,right指针的地址减减。这样我们就实现了字符串的反转。
#include#include #include void reserve(char *left,char *right) { assert(left); assert(right); while (left<=right) { char tmp=*left; *left=*right; *right=tmp; left++; right--; } } void Left_move(char *arr, int n,int len) { reserve(arr,arr+n-1); reserve(arr+n,arr+len-1); reserve(arr,arr+len-1); } int main() { char arr[]="abcdef"; int len = strlen(arr); Left_move(arr,3,len); puts(arr); return 0; }
关于C语言中怎么求字符串长度和字符串反转就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。