printf()函式相關

2021-06-18 15:30:03 字數 1178 閱讀 5925

都是個人的一些總結,難免有錯,望大家積極指出;

>關於sizeof語句

是否使用圓括號取決於是想獲取乙個型別的大小還是想獲取摸個具體兩的大小;圓括號對於型別是唏噓的,而對於具體量則是可選的

>位置顯示字元\0

這是乙個空字元,其ascii碼的值為0;

>scanf

scanf()開始讀取輸入以後,會在遇到第乙個空白字元空格(blank)、製表符(tab)、換行符(newline)處停止讀取

>const

const關鍵字把乙個變數宣告轉換成常量宣告

>一些符號常量

>轉換說明符

>列印%本身

使用兩個%符號

>標誌

>printf的格式說明符

在列印字串時加上格式說明符.5,是只列印5個字元

>引數傳遞

printf("%ld%ld %ld %ld \n", n1, n2, n3, n4);

注:n1,n2,n3,n4原本不是長整形;

一開始計算機把變數的值傳遞給計算機,計算機把它們放在堆疊的一塊記憶體區域;根據變數的型別而非轉換說明符把這些值放到堆疊中;但函式從堆疊中取數時是根據轉換說明符去讀取,這樣在位元組序上就出現錯位,錯誤未知;

>printf()函式的返回值

不常用,使用返回值的乙個可能原因是要檢查輸出錯誤。在想檔案中輸出而非向螢幕上輸出的時候很常用;

返回值是列印的字元的個數,其中int型是轉換成數字字元輸出的;

注意計數針對所有的列印字元,包括空格和不可見的換行字元;

>如果在列印乙個用雙引號引起來的字串後面跟有另乙個用雙引號引起來的字串,而且二者之間僅用空白字元分割,那麼c會把該組合當作乙個字串來處理;

>>>>>>>>>>>>>>>>>>>>>> 

printf函式詳解

printf 格式轉換的一般形式如下 flags width prec type 以括號括起來的引數為選擇性引數,而 與type則是必要的。底下先介紹type的幾種形式 d 整數的引數會被轉成一有符號的十進位制數字 u 整數的引數會被轉成一無符號的十進位制數字 o 整數的引數會被轉成一無符號的八進位...

printf函式實現

要實現printf函式需要考慮如下三點 1.如何告訴printf傳入引數的個數 引數個數不確定。2.printf如何訪問到這些引數。3.函式呼叫完成後,系統如何釋放在堆疊的引數。printf函式的定義 原型 int cdecl printf const char format,注 cdecl是c c...

學習printf函式

今天想學習printf函式,有幾個疑問?1 如何實現可變引數。2 如何將記憶體的東西輸入螢幕。3 是將各種格式的引數都轉化為字串輸入,還是以各種格式輸出。4 如果引數有表示式,比如printf i 9 4d 4d n 該怎麼處理。5 如何自己寫乙個printf函式。其實還有很多相關的函式如 spri...