国产探花免费观看_亚洲丰满少妇自慰呻吟_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 ; }

總結

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

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

圖片精選

主站蜘蛛池模板: 若羌县| 噶尔县| 江口县| 丹阳市| 大埔区| 金塔县| 定州市| 滁州市| 舒城县| 辽中县| 清水河县| 淄博市| 体育| 黄平县| 宜城市| 桦甸市| 三河市| 通江县| 枣阳市| 县级市| 平果县| 辽中县| 泰来县| 田阳县| 锦州市| 长兴县| 汨罗市| 普格县| 上饶市| 永新县| 湖南省| 蚌埠市| 娄烦县| 芒康县| 黎平县| 博湖县| 称多县| 永仁县| 乐亭县| 兴城市| 叶城县|