C語(yǔ)言每日練習(xí)之字符串反轉(zhuǎn)
分析
在第18天:利用遞歸函數(shù)調(diào)用方式,將所輸入的字符以相反順序打印出來(lái)中,已經(jīng)用過(guò)遞歸實(shí)現(xiàn)字符順序輸入,逆序輸出,今天的題目是字符串反轉(zhuǎn),將以字符數(shù)組的形式來(lái)進(jìn)行操作。
代碼實(shí)現(xiàn)
#include <stdio.h> #include <string.h> #define MAX_LENGTH 50 //最大長(zhǎng)度 char *String_Invertion(char *str); int main() { char string[MAX_LENGTH]; printf("請(qǐng)輸入一個(gè)字符串\n"); scanf("%s", string); String_Invertion(string); printf("反轉(zhuǎn)后的字符串為%s\n", string); return 0; } /** * @brief 字符串反轉(zhuǎn)函數(shù) * @param str 目標(biāo)字符串 * @return 反轉(zhuǎn)后的字符串(str) */ char *String_Invertion(char *str) { if(str == NULL) return NULL; int len = strlen(str); int i = 0; for(i = 0; i < len / 2; i++) //替換len/2次 { /* (按位)異或交換法,其他交換法參考day27 */ str[i] = str[i] ^ str[len - 1 - i]; str[len - 1 - i] = str[i] ^ str[len - 1 - i]; str[i] = str[i] ^ str[len - 1 - i]; } return str; }
運(yùn)行結(jié)果
網(wǎng)上參考
// Created by www.runoob.com on 15/11/9. // Copyright © 2015年 菜鳥(niǎo)教程. All rights reserved. // #include <stdio.h> void reverse(char* s) { // 獲取字符串長(zhǎng)度 int len = 0; char* p = s; while (*p != 0) { len++; p++; } // 交換 ... int i = 0; char c; while (i <= len / 2 - 1) { c = *(s + i); *(s + i) = *(s + len - 1 - i); *(s + len - 1 - i) = c; i++; } } int main() { char s[] = "www.runoob.com"; printf("'%s' =>\n", s); reverse(s); // 反轉(zhuǎn)字符串 printf("'%s'\n", s); return 0; }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++動(dòng)態(tài)數(shù)組類(lèi)的封裝實(shí)例
這篇文章主要介紹了C++動(dòng)態(tài)數(shù)組類(lèi)的封裝,很重要的概念,需要的朋友可以參考下2014-08-08C++求四個(gè)正整數(shù)最大公約數(shù)的方法
這篇文章主要介紹了C++求四個(gè)正整數(shù)最大公約數(shù)的方法,涉及C++求余算法的運(yùn)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05C++11標(biāo)準(zhǔn)庫(kù)bind函數(shù)應(yīng)用教程
bind函數(shù)定義在頭文件functional中,可以將bind函數(shù)看做成一個(gè)通用的函數(shù)適配器,他接收一個(gè)可調(diào)用對(duì)象,生成一個(gè)新的可調(diào)用對(duì)象來(lái)"適應(yīng)"原對(duì)象的參數(shù)列表。本文將帶大家詳細(xì)了解一下bind函數(shù)的應(yīng)用詳解2021-12-12linux c 查找使用庫(kù)的cflags與libs的方法詳解
本篇文章是對(duì)在linux中使用c語(yǔ)言查找使用庫(kù)的cflags與libs的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C語(yǔ)言結(jié)構(gòu)體詳細(xì)圖解分析
C 數(shù)組允許定義可存儲(chǔ)相同類(lèi)型數(shù)據(jù)項(xiàng)的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類(lèi)型,它允許你存儲(chǔ)不同類(lèi)型的數(shù)據(jù)項(xiàng),本篇讓我們來(lái)了解C 的結(jié)構(gòu)體2022-03-03