[英]Print number with zero on first place
例如,我如何打印?
int a = 0145236
當我想使用它時,它總是給我一個八進制數。
首先,這似乎不是 C——除非您使用 typedef,否則C
的整數類型是int
,區分大小寫。
在 ISO 9899 6.4.4.1 Integer constants -- Syntax
, 6.4.4.1 Integer constants -- Syntax
寫成 Backus-Naur 形式:
octal-constant:
0
octal-constant octal-digit
octal-digit: one of
0 1 2 3 4 5 6 7
所以當你寫一個以0<octal-digit>
開頭的初始化常量時,詞法分析器會給它一些整數類型,它會在基數 8 中初始化它。
每當您在數字前面放零時,它只會以八進制打印。 這就是 c 的工作方式。 但是,如果您從用戶那里獲取輸入並假設用戶輸入了0123456
它會作為123456
存儲在您的變量中,因此在硬編碼時不要在整數的開頭添加0
。 如果您需要在數字中添加前導零,這可能有助於在 C 中打印前導 0?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.