<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                本文目錄 - [一、字符處理函數](http://www.cnblogs.com/mjios/archive/2013/03/15/2961759.html#label0) - [二、字符串處理函數](http://www.cnblogs.com/mjios/archive/2013/03/15/2961759.html#label1) 說明:這個C語言專題,是學習iOS開發的前奏。也為了讓有面向對象語言開發經驗的程序員,能夠快速上手C語言。如果你還沒有編程經驗,或者對C語言、iOS開發不感興趣,請忽略 [回到頂部](http://www.cnblogs.com/mjios/archive/2013/03/15/2961759.html#labelTop) ### 一、字符處理函數 下面介紹的兩個字符處理函數都是在stdio.h頭文件中聲明的。 ### 1.字符輸出函數putchar ~~~ putchar(65); // A putchar('A'); // A int a = 65; putchar(a); // A ~~~ 上面的3種用法,輸出的都是大寫字母A。 * putchar一次只能輸出一個字符,而printf可以同時輸出多個字符 ~~~ printf("%c %c %c", 'A', 'B', 'a'); ~~~ ### 2.字符輸入函數getchar ~~~ char c; c = getchar(); ~~~ getchar會將用戶輸入的字符賦值給變量c。 * getchar函數可以讀入空格、TAB,直到遇到回車為止。scanf則不能讀入空格和TAB。 * getchar一次只能讀入一個字符。scanf則可以同時接收多個字符。 * getchar還能讀入回車換行符,這時候你要敲2次回車鍵。第1次敲的回車換行符被getchar讀入,第2次敲的回車鍵代表輸入結束。 [回到頂部](http://www.cnblogs.com/mjios/archive/2013/03/15/2961759.html#labelTop) ### 二、字符串處理函數 下面介紹的字符串處理函數都是在string.h頭文件中聲明的,使用前要包含這個頭文件。 ### 1.strlen函數 * 這個函數可以用來測量字符串的字符個數,不包括\0 ~~~ 1 int size = strlen("mj"); // 長度為2 2 3 char s1[] = "lmj"; 4 int size1 = strlen(s1); // 長度為3 5 6 char s2[] = {'m', 'j', '\0', 'l', 'm', 'j', '\0'}; 7 int size2 = strlen(s2); // 長度為2 ~~~ 看一下第7行,strlen函數會從s2的首地址開始計算字符個數,直到遇到空字符\0為止。因為s2的第1個\0之前只有mj這2個字符,所以長度為2。 ### 2.strcpy函數 ~~~ 1 char s[10]; 2 strcpy(s, "lmj"); ~~~ strcpy函數會將右邊的"lmj"字符串拷貝到字符數組s中。從s的首地址開始,逐個字符拷貝,直到拷貝到\0為止。當然,在s的尾部肯定會保留一個\0。 * 假設右邊的字符串中有好幾個\0,strcpy函數只會拷貝第1個\0之前的內容,后面的內容不拷貝 ~~~ 1 char s[10]; 2 char c[] = {'m', 'j', '\0', 'l', 'm', 'j', '\0'}; 3 strcpy(s, c); ~~~ 最后字符串s中的內容為:mj ### 3.strcat函數 ~~~ char s1[30] = "LOVE"; strcat(s1, "OC"); ~~~ strcat函數會將右邊的"OC"字符串拼接到s1的尾部,最后s1的內容就變成了"LOVEOC" ![](https://box.kancloud.cn/2016-05-07_572d7671e0358.png) strcat函數會從s1的第1個\0字符開始連接字符串,s1的第1個\0字符會被右邊的字符串覆蓋,連接完畢后在s1的尾部保留一個\0 * 注意下面的情況 ~~~ 1 char s1[30] = {'L', 'm', 'j', '\0', 'L', 'o', 'v', 'e', '\0'}; 2 strcat(s1, "OC"); 3 printf("%s", s1); ~~~ 第1行初始化的s1有2個\0,經過第2行的strcat函數后,輸出結果:![](https://box.kancloud.cn/2016-05-07_572d7671f34bb.png) ![](https://box.kancloud.cn/2016-05-07_572d76721044c.png) ### 4.strcmp函數 * 這個函數可以用來比較2個字符串的大小 * 調用形式為:strcmp(字符串1, 字符串2) * 兩個字符串從左至右逐個字符比較(按照字符的ASCII碼值的大小),直到字符不相同或者遇見'\0'為止。如果全部字符都相同,則返回值為0。如果不相同,則返回兩個字符串中第一個不相同的字符ASCII碼值的差。即字符串1大于字符串2時函數返回值為正,否則為負。 ~~~ 1 char s1[] = "abc"; 2 char s2[] = "abc"; 3 char s3[] = "aBc"; 4 char s4[] = "ccb"; 5 6 printf("%d, %d, %d", strcmp(s1, s2), strcmp(s1, s3), strcmp(s1, s4)); ~~~ 輸出結果:![](https://box.kancloud.cn/2016-05-07_572d767223bb6.png) - s1和s2相同,所以返回0 - s1和s3是第2個字符不相同,b的ASCII碼值是98,B的ASCII碼值是66,b - B = 32,所以返回32 - s1和s4是第1個字符就不相同,a的ASCII碼值是97,c的ASCII碼值是99,a - c = -2,所以返回-2
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看