關於C語言\b \t \n及轉義序列的理解


轉義序列 說明
\b 后退一格(Backspace)
\t 水平制表(Tab=4個空格)
\v 垂直制表
\r 回車(Enter)
\f 換頁
\a 發出鳴響
\n 換行
\" 輸出/輸入雙引號(")
\' 輸出/輸入單引號(‘’)
\? 輸出/輸入問號(?)
\\ 輸出/輸入反斜杠(\)
\/ 輸出/輸入斜杠(/)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Point 1: 

\b 的結合使用(Code::Blocks編譯器不包含 \b 標識符)

//Example
#include "stdio.h"
int main()
{
    int i;
    for(i=0;i<=5;i++)
    {
        printf("%d,",i);
    }
}

//上面的代碼輸出為0,1,2,3,4,5,
//那么問題來了?怎么去掉5后面的逗號呢?這時候 \b 派上用場了

//修改代碼如下
#include "stdio.h"
int main()
{
       int i,j=1;
       while(j=1)
       {
           for(i=0;i<=5;i++)
           {
               print("%d,",i);
           }
           j=0;
       }
       printf("\b");
} 

//輸出結果為 0,1,2,3,4,5
//逗號就這樣神奇地去掉啦

Point 2:

關於 \b 和 \t 的混合使用

1 #include "stdio.h"
2 int main()
3 {
4     printf("123456789\n");
5     printf("\t\b\t\b1\n");
6     printf("\t\t\b\b1\n");
7     return 0;
8 }
9 //輸出結果如下圖

\b將輸出位置左移一位

\t表示一個tab的距離即1個大空格,相當於4個小空格

上述代碼的理解:

  \t\b\t\b 表示前進四個空格然后回退一個空格,做兩次相同操作,於是數字1會定位到數字7對應的位置下方。

  \t\t\b\b 表示前進兩個大空格然后再回退兩個大空格,即將\t看成一個tab的效果,回退的是兩個tab,所以最后回到最初位置,也就是數字0對應的位置下方。

PS:你可以自己嘗試一下printf("\t\b\t\b\t\b1");          //看看最后的結果是不是數字1在12的下面。

            printf("\t\t\t\b\b\b1");      //看看輸出結果是不時數字1在初始位置,也就是0的下面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM