欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言每日練習(xí)之字符串反轉(zhuǎn)

 更新時(shí)間:2021年11月11日 11:48:09   作者:小輝_Super  
這篇文章主要介紹了C語(yǔ)言字符串反轉(zhuǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

分析

在第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++中replace()?函數(shù)的基本用法

    C++中replace()?函數(shù)的基本用法

    今天就跟大家聊聊有關(guān)C++中replace()函數(shù)的作用是什么,可能很多人都不太了解,為了讓大家更加了解,這篇文章主要給大家介紹了關(guān)于C++中replace()?函數(shù)的基本用法,需要的朋友可以參考下
    2021-11-11
  • C語(yǔ)言運(yùn)算符與表達(dá)式

    C語(yǔ)言運(yùn)算符與表達(dá)式

    這篇文章主要介紹了C語(yǔ)言運(yùn)算符與表達(dá)式,表達(dá)式是C語(yǔ)言的主體。在C語(yǔ)言中,表達(dá)式由操作符和操作數(shù)組成,更多相關(guān)介紹需要的小伙伴可以參考下面文章內(nèi)容
    2022-07-07
  • exit和atexit的區(qū)別詳細(xì)解析

    exit和atexit的區(qū)別詳細(xì)解析

    以下是對(duì)exit與atexit的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • C語(yǔ)言 詳解字符串基礎(chǔ)

    C語(yǔ)言 詳解字符串基礎(chǔ)

    在 C 語(yǔ)言中,字符串實(shí)際上是使用空字符 \0 結(jié)尾的一維字符數(shù)組。因此,\0 是用于標(biāo)記字符串的結(jié)束。空字符(Null character)又稱結(jié)束符,縮寫(xiě) NUL,是一個(gè)數(shù)值為 0 的控制字符,\0 是轉(zhuǎn)義字符,意思是告訴編譯器,這不是字符 0,而是空字符
    2022-04-04
  • C++動(dòng)態(tài)數(shù)組類(lèi)的封裝實(shí)例

    C++動(dòng)態(tài)數(shù)組類(lèi)的封裝實(shí)例

    這篇文章主要介紹了C++動(dòng)態(tài)數(shù)組類(lèi)的封裝,很重要的概念,需要的朋友可以參考下
    2014-08-08
  • C++求四個(gè)正整數(shù)最大公約數(shù)的方法

    C++求四個(gè)正整數(shù)最大公約數(shù)的方法

    這篇文章主要介紹了C++求四個(gè)正整數(shù)最大公約數(shù)的方法,涉及C++求余算法的運(yùn)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • C++11標(biāo)準(zhǔn)庫(kù)bind函數(shù)應(yīng)用教程

    C++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-12
  • linux c 查找使用庫(kù)的cflags與libs的方法詳解

    linux c 查找使用庫(kù)的cflags與libs的方法詳解

    本篇文章是對(duì)在linux中使用c語(yǔ)言查找使用庫(kù)的cflags與libs的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語(yǔ)言結(jié)構(gòu)體詳細(xì)圖解分析

    C語(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
  • C++泛型算法的一些總結(jié)

    C++泛型算法的一些總結(jié)

    以下是對(duì)C++中的泛型算法進(jìn)行了總結(jié)介紹。需要的朋友可以過(guò)來(lái)參考下
    2013-08-08

最新評(píng)論