簡體   English   中英

在第一位打印數字為零

[英]Print number with zero on first place

例如,我如何打印?

int a = 0145236

當我想使用它時,它總是給我一個八進制數。

首先,這似乎不是 C——除非您使用 typedef,否則C的整數類型是int ,區分大小寫。

在 ISO 9899 6.4.4.1 Integer constants -- Syntax6.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM