這篇文章將為大家詳細(xì)講解有關(guān)C語言中怎么求字符串長度和字符串反轉(zhuǎn),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、蒙山網(wǎng)站維護(hù)、網(wǎng)站推廣。
首先我們先在main函數(shù)里面定義一個(gè)字符串?dāng)?shù)組,char *Qwe="abcdef";然后定義兩個(gè)指針p,q同時(shí)指向字符串的首地址,p指針不動(dòng)一直指向首地址,當(dāng)q指針的內(nèi)容!="\0"時(shí),它的地址一直加加,當(dāng)它的內(nèi)容="\0"時(shí),用q指針指向的地址減去p指針指向的地址,得到的就是該字符串的長度。
#include<stdio.h> #include <string.h> 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; }
通過上面的分享想必我們已經(jīng)知道如何自己編寫一個(gè)代碼輸出字符串的長度了。接下來我想分享的是如何將一個(gè)字符串反轉(zhuǎn)輸出。
首先我們的先定義一個(gè)字符串?dāng)?shù)組,char arr[]="abcdef";然后定義兩個(gè)指針char* left,char* right,left指針指向字符串的首地址,right指針指向字符串的最后一個(gè)字符的地址,斷言一下left指針和right指針是否存在,如果存在,當(dāng)left指針指向的地址小于等于right指針指向的地址時(shí),我們新定義一個(gè)變量char tmp,用類似交換數(shù)的方法,先將left指針?biāo)赶虻膬?nèi)容放入tmp中,再將right指針指向的內(nèi)容放入left中,最后將tmp中存入left指針指向的內(nèi)容放入right中,left指針的地址加加,right指針的地址減減。這樣我們就實(shí)現(xiàn)了字符串的反轉(zhuǎn)。
#include <stdio.h> #include <string.h> #include <assert.h> 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; }
關(guān)于C語言中怎么求字符串長度和字符串反轉(zhuǎn)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
文章標(biāo)題:C語言中怎么求字符串長度和字符串反轉(zhuǎn)
URL地址:http://www.chinadenli.net/article44/ieooee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站維護(hù)、虛擬主機(jī)、App開發(fā)、靜態(tài)網(wǎng)站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)