在C語言中,長整型的輸出格式為「printf("%ld",元素);」。函數在輸入輸出的時候都有一個參數為格式化字串, 當需要輸入輸出變數值時,就需要用對應的格式化字元來替代,其中「%ld」表示資料以十進位有符號長型整數輸入或輸出。
本教學操作環境:windows7系統、C 17版本、Dell G3電腦。
printf中如何輸出長整型?
一直都聽說gcc -Wall的檢查要嚴格很多,今天發現果然如此。寫了一個簡單的程序,共15行,用gcc -Wall編譯時提示有warning:int format, long int arg,找了半天發現問題出在:用%d輸出long型變數。查閱,發現書上說的是輸出long時用%l,修改之,錯的更嚴重,直接說是無法辨識的格式符....上網查閱資料,正確的形式應該是%ld 。用C這麼多年,居然連這個都搞不清,哎,不說啥了...
1、一般格式
printf(格式控制,輸出表列)
例如: printf("i=%d,ch=%c\n",i,ch);
說明:
(1)“格式控制”是用雙撇號括起來的字串,也稱為“轉換控製字串”,它包括兩個訊息:
①格式說明:由「%」和格式字元組成,它的作用是將輸出的資料轉換為指定的格式輸出。
②普通字符,即需要原樣輸出的字符。
(2)「輸出表列」是一些需要輸出的數據,可以是表達式
(3) printf函數的一般形式可以表示為
## printf(參數1,參數2,…,參數n) 功能是將參數2~參數n依參數1給定的格式輸出2、格式字元(9種)(1)d(或i)格式符號。用來輸出十進制整數,有以下幾種用法: ①%d,依整數資料的實際長度輸出。 ②%md,m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則以實際位數輸出。 ③%ld(%mld 也可),輸出 長整數資料。 例如:long a=123456; printf("%ld",a)##o#o#o#o#o#o#o#o o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#o#。格式:%o,%mo,%lo,%mlo皆可。 (3)x(或X)格式符,以十六進位數形式輸出整數。格式:%x,%mx,%lx,%mlx皆可。 (4)u格式符,用來輸出unsigned型數據,即 無符號數,以十進制數形式輸出。格式:%u,%mu,%lu都可。 (5)c格式符,用來輸出一個字元。格式:%c,%mc都可。 (6)s格式符,用來輸出一個字串。格式:%s,%ms,%-ms,%m.ns,%-m.ns皆可。 (7)f格式符,用來輸出實數(包括單、雙精度),以小數形式輸出。格式:%f,%m.nf,%-m.nf都可。 註:單精確度實數的有效位數大致為7位,雙精確度為16位。 (8)e(或E)格式符,以指數形式輸出實數。格式:%e,%m.ne,%-m.ne都可。 (9)g(或G)格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時佔寬度較小的一種)。 3、說明(1)除了X、E、G(用大寫字母表示)外,其他格式字元必須用小寫字母;(2)“格式控制”字串內可以包含轉義字元;(3)如果想輸出字元“%”,則應該在“格式控制”字串中以連續兩個%表示,如: printf("%f%%",1.0/3);############################# #格式字元############說 明##################d,i### | 以帶符號的十進位形式輸出整數(正數不輸出符號) |
o |
以八進位 無符號形式輸出整數(不輸出前導子0) |
x,X |
#以十六進位 無符號形式輸出整數(不輸出前導子0x),用x則輸出十六進制數的a~f時以小寫形式輸出,用X時,則以大寫字母輸出 |
u |
以 無符號十進位形式輸出整數 |
c |
以字元形式輸出,只輸出一個字元 |
s |
#輸出字串 |
f |
#以小數形式輸出單一、雙精確數,隱含輸出6位元小數 |
e,E |
#以指數形式輸出實數 |
g,G |
選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0 |
推薦教學:《C#》
以上是長整型輸出格式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!