字符串倒置函數(shù)的實現(xiàn),需要我們在函數(shù)中使用left、right分別定位字符串的起點、末點,因此我們傳參時需要字符串的首地址(str)、字符串的長度(len),將這兩個位置的字母互換,然后讓left++到字符串下一個地址,right–到字符串末尾的上一個地址,一直重復(fù)互換操作,直到不滿足left< right,即可實現(xiàn)字符串倒置
站在用戶的角度思考問題,與客戶深入溝通,找到襄州網(wǎng)站設(shè)計與襄州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋襄州地區(qū)。遞歸與非遞歸解法大體的思路是相似的,只不過遞歸解法中需要考慮如何進行l(wèi)eft和right的更新,以此逼近遞歸條件。
非遞歸解法#incldue#includevoid reverse(char* str, int len)
{char* left = str;
char* right = str + len - 1;
while (left< right)
{char tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
遞歸解法char* reverse(char* str, int len)
{if (*str == '\0') //判斷空串
{return NULL;
}
if (len >1)
{char tmp = *str;
*str = *(str + len - 1);
//下一次進入函數(shù)時讓最后一個字母暫時置為\0,傳str + 1
//也就完成了left++; right--; 的操作
*(str + len - 1) = '\0';
reverse(str + 1);
//最后再把置為\0的字母,重復(fù)賦值
*(str + len - 1) = tmp;
}
return str;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:C語言字符串倒置的遞歸與非遞歸解法-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://aaarwkj.com/article48/gjjhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、虛擬主機、品牌網(wǎng)站制作、手機網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容