C語言每日練習(xí)之字符串反轉(zhuǎn)
更新時(shí)間:2021年11月11日 11:48:09 作者:小輝_Super
這篇文章主要介紹了C語言字符串反轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
分析
在第18天:利用遞歸函數(shù)調(diào)用方式,將所輸入的字符以相反順序打印出來中,已經(jīng)用過遞歸實(shí)現(xiàn)字符順序輸入,逆序輸出,今天的題目是字符串反轉(zhuǎn),將以字符數(shù)組的形式來進(jìn)行操作。
代碼實(shí)現(xiàn)
#include <stdio.h> #include <string.h> #define MAX_LENGTH 50 //最大長度 char *String_Invertion(char *str); int main() { char string[MAX_LENGTH]; printf("請輸入一個(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年 菜鳥教程. All rights reserved. // #include <stdio.h> void reverse(char* s) { // 獲取字符串長度 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é)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++求四個(gè)正整數(shù)最大公約數(shù)的方法
這篇文章主要介紹了C++求四個(gè)正整數(shù)最大公約數(shù)的方法,涉及C++求余算法的運(yùn)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05C++11標(biāo)準(zhǔn)庫bind函數(shù)應(yīng)用教程
bind函數(shù)定義在頭文件functional中,可以將bind函數(shù)看做成一個(gè)通用的函數(shù)適配器,他接收一個(gè)可調(diào)用對象,生成一個(gè)新的可調(diào)用對象來"適應(yīng)"原對象的參數(shù)列表。本文將帶大家詳細(xì)了解一下bind函數(shù)的應(yīng)用詳解2021-12-12linux c 查找使用庫的cflags與libs的方法詳解
本篇文章是對在linux中使用c語言查找使用庫的cflags與libs的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05