国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言字符串另類用法的實現

2020-01-26 13:36:52
字體:
來源:轉載
供稿:網友

講這個例子前,咱們先來看一個簡單的程序:

字符串數組實現數字轉字母:

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

當然我們也可以這么寫,用指針的形式來表示:

#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 ; } 

同樣的,結果也是和上面是一樣的,我們再對這種寫法進行簡化,如果初學者的基礎不扎實,也許一看就懵了。

#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 ; } 

其實不用驚訝,這樣的寫法和前面兩種的意思是一樣的,只不過將str替換成了一串字符串。正是因為有了這種做法,所以在寫進制轉換的時候,可以使用這樣的技巧來實現,當然,作為開發者,寫出可讀性高的代碼來說,我并不推崇這樣的寫法。

既然可以向上面這么寫,那也就可以向下面這么寫,輸出的結果是4個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 ; }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 灵寿县| 张家界市| 临猗县| 句容市| 宁德市| 临桂县| 北流市| 高雄市| 共和县| 镇安县| 黄梅县| 筠连县| 开封县| 长春市| 利辛县| 永嘉县| 松江区| 区。| 金塔县| 桐庐县| 永兴县| 二连浩特市| 青河县| 封开县| 蒙阴县| 克拉玛依市| 正宁县| 绥滨县| 郯城县| 原平市| 文化| 兴国县| 宝丰县| 新田县| 晋州市| 永州市| 靖远县| 永清县| 宿迁市| 郓城县| 海城市|