程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> 一起talk C栗子吧(第一百八十一回:C語言實例

一起talk C栗子吧(第一百八十一回:C語言實例

編輯:關於C

各位看官們,大家好,上一回中咱們說的是break到哪裡的例子,這一回咱們說的例子是:通過printf函數輸出%。閒話休提,言歸正轉。讓我們一起talk C栗子吧!

看官們, 我們今天介紹如何通過printf函數輸出%。在介紹之前,大家想想,如何才能實現這個目標呢?這時台下有看官說話了:“使用轉義字符“\”就可以了,因為%是一個特殊的符號,在printf函數中輸出一些特殊符號時通常使用轉義字符“。那我們就來按照這位看官的方法來試試。

#include

int main()
{
    printf("\%");

    return 0;
}

我們把上面的代碼保存到一個文件中然後編譯,編譯時發現有編譯警告,詳細如下:

 warning: spurious trailing ‘%’ in format [-Wformat=]
  printf("\%");  //這是使用gcc 4.8.4的編譯結果,其它編譯器的結果可能會有所不同

這是個測試程序,我們先忽略這個警告,接著運行編譯完的程序,這時發現沒有輸出想要的%來,看來這個程序有問題,這也說明這種方法不可行。為什麼呢?其實在printf函數中%是一個轉義字符,它後面加上相應的字符時就會專門的含義,比如我們常用的%d表示輸出int類型的數值,%c表示輸出char類型的數值。而\也是一個轉義字符,比如常用的\n表示換行。printf函數在處理轉義字符時會檢查轉義字符後面的字符,然後對其做出處理。%和\這兩個轉義字符放在一起時,其行為是末定義的,因此gcc編譯器給出了編譯警告,而且生成的程序不能輸出正確的結果。

正所謂兩虎相爭,必有一傷,兩個不同的轉義字符放在一起也是不合理的。這種辦法行不通,那麼我們怎麼辦呢?我給大家點提示:如何在printf函數中輸出\呢?這時有看官回答說:“使用兩個\轉義字符,也就是printf("\\")";那麼是不是轉義字符%也可以通過這種方法輸出呢?我們來動手試試:

#include

int main()
{
    printf("\\ \n");
    printf("%% \n");

    return 0;
}

我們把上面的代碼保存到一個文件中然後編譯,編譯很順利,直接生成了可執行文件,我們接下來運行可執行文件,結果如下:

\   //正確輸出轉義字符\
%   //正確輸出轉義字符%

各位看官,通過printf函數輸出%的例子咱們就說到這裡。欲知後面還有什麼例子,且聽下回分解 。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved