最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言字符串另類用法的實(shí)現(xiàn)

 更新時(shí)間:2018年12月19日 10:48:26   作者:Engineer-Bruce_Yang  
今天小編就為大家分享一篇關(guān)于C語(yǔ)言字符串另類用法的實(shí)現(xiàn),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

講這個(gè)例子前,咱們先來(lái)看一個(gè)簡(jiǎn)單的程序:

字符串?dāng)?shù)組實(shí)現(xiàn)數(shù)字轉(zhuǎn)字母:

#include <stdio.h>
#include <string.h>
int main(void)
{
 int num = 15 ;
 //26個(gè)字母 
 const char str[] = "abcdefghijklmnopqlstuvwxyz" ;
 //這個(gè)做法是將num這個(gè)十進(jìn)制數(shù)通過(guò)取模轉(zhuǎn)換為字母并輸出,從程序看,即可知道是輸出p 
 char a = str[num%26] ;
 printf("a=%c\n",a);
 return 0 ; 
} 

當(dāng)然我們也可以這么寫,用指針的形式來(lái)表示:

#include <stdio.h>
#include <string.h>
int main(void)
{
 int num = 15 ;
 char *str = "abcdefghijklmnopqlstuvwxyz" ;
 char a = str[num%26] ;
 printf("a=%c\n",a);
 return 0 ; 
} 

同樣的,結(jié)果也是和上面是一樣的,我們?cè)賹?duì)這種寫法進(jìn)行簡(jiǎn)化,如果初學(xué)者的基礎(chǔ)不扎實(shí),也許一看就懵了。

#include <stdio.h>
#include <string.h>
int main(void)
{
 int num = 15 ;
 //char *str = "abcdefghijklmnopqlstuvwxyz" ;
 char a = "abcdefghijklmnopqlstuvwxyz"[num%26] ;
 printf("a=%c\n",a);
 return 0 ; 
} 

其實(shí)不用驚訝,這樣的寫法和前面兩種的意思是一樣的,只不過(guò)將str替換成了一串字符串。正是因?yàn)橛辛诉@種做法,所以在寫進(jìn)制轉(zhuǎn)換的時(shí)候,可以使用這樣的技巧來(lái)實(shí)現(xiàn),當(dāng)然,作為開發(fā)者,寫出可讀性高的代碼來(lái)說(shuō),我并不推崇這樣的寫法。

既然可以向上面這么寫,那也就可以向下面這么寫,輸出的結(jié)果是4個(gè)3。

#include <stdio.h>
int main(void)
{
 char *p = "0123456789abcdef" ;
 putchar(p[3]);
 //換行 
 putchar('\n');
 putchar(*(p + 3));
 putchar('\n');
 putchar("0123456789abcdef"[3]);
 putchar('\n');
 putchar(*("0123456780abcdef"+3));
 putchar('\n');
 return 0 ; 
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 深入淺析C++的new和delete

    深入淺析C++的new和delete

    new和delete既是C++中的關(guān)鍵字也是一種特殊的運(yùn)算符。這篇文章主要介紹了C++的new和delete詳解,需要的朋友可以參考下
    2018-02-02
  • 關(guān)于數(shù)組做函數(shù)參數(shù)的問(wèn)題集合匯總

    關(guān)于數(shù)組做函數(shù)參數(shù)的問(wèn)題集合匯總

    本文是對(duì)關(guān)于數(shù)組做函數(shù)參數(shù)的問(wèn)題進(jìn)行了詳細(xì)的匯總,需要的朋友可以過(guò)來(lái)參考下。希望對(duì)大家有所幫助
    2013-10-10
  • C++哈希應(yīng)用之位圖,哈希切分與布隆過(guò)濾器詳解

    C++哈希應(yīng)用之位圖,哈希切分與布隆過(guò)濾器詳解

    這篇文章主要為大家詳細(xì)介紹了C++哈希應(yīng)用中的位圖、哈希切分與布隆過(guò)濾器,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以參考一下
    2023-04-04
  • C++變量和基本類型詳解

    C++變量和基本類型詳解

    這篇文章主要介紹了C++變量和基本類型,,一定要注意局部變量與全局變量的作用范圍,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-10-10
  • 全局靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)深入剖析

    全局靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)深入剖析

    在C++中,內(nèi)存可分為系統(tǒng)數(shù)據(jù)區(qū),自由存儲(chǔ)區(qū),文本區(qū),const數(shù)據(jù)區(qū),全局靜態(tài)區(qū),堆區(qū)和棧區(qū)
    2012-11-11
  • 關(guān)于C/C++中的side effect(負(fù)效應(yīng))和sequence point(序列點(diǎn))

    關(guān)于C/C++中的side effect(負(fù)效應(yīng))和sequence point(序列點(diǎn))

    不知你在寫code時(shí)是否遇到這樣的問(wèn)題?int i = 3; int x = (++i) + (++i) + (++i); 問(wèn)x值為多少?進(jìn)行各種理論分析,并在編譯器上實(shí)踐,然而可能發(fā)現(xiàn)最終的結(jié)果是不正確的,也是不穩(wěn)定的,不同的編譯器可能會(huì)產(chǎn)生不同的結(jié)果。這讓人很頭疼
    2013-10-10
  • Qt禁止程序多開的實(shí)現(xiàn)示例

    Qt禁止程序多開的實(shí)現(xiàn)示例

    本文主要介紹了Qt 禁止程序多開的實(shí)現(xiàn)示例,主要介紹了三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • C++設(shè)計(jì)模式之備忘錄模式

    C++設(shè)計(jì)模式之備忘錄模式

    這篇文章主要介紹了C++設(shè)計(jì)模式之備忘錄模式,本文講解了什么是備忘錄模式、備忘錄模式的UML類圖、備忘錄模式的使用場(chǎng)合等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • C語(yǔ)言繪制三角函數(shù)曲線

    C語(yǔ)言繪制三角函數(shù)曲線

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言繪制三角函數(shù)曲線,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • C++移動(dòng)操作,RVO和NRVO詳細(xì)

    C++移動(dòng)操作,RVO和NRVO詳細(xì)

    本文將討論了何時(shí)C++會(huì)自動(dòng)進(jìn)行移動(dòng)操作,并且說(shuō)明了復(fù)制消除,RVO和NRVO優(yōu)的化等香瓜吧資料,需要的小伙伴可以參考一下
    2021-09-09

最新評(píng)論

岐山县| 枣强县| 区。| 东山县| 镇康县| 惠州市| 额尔古纳市| 孟村| 禹州市| 桃园市| 隆回县| 隆化县| 吉安县| 前郭尔| 大田县| 磐安县| 陕西省| 微山县| 织金县| 财经| 西乌珠穆沁旗| 莱州市| 花垣县| 沙河市| 普格县| 金华市| 齐河县| 桦川县| 温州市| 庆安县| 易门县| 萨迦县| 宜川县| 惠州市| 兴城市| 阳东县| 阜平县| 天峨县| 哈巴河县| 深州市| 广东省|