Нет реальной разницы между числами 1, 01, 0000001, 1.0 и т. Д. (a) .Это потому, что число является значением , , а не форматированием .
Если вы хотите сохранить начальные нули, вам, вероятно, следует рассматривать его как строку, а не какномер.
Это особенно верно, если вы говорите о телефонных номерах (что, похоже, является проблемным случаем), поскольку они могут входить в многие формы, которые не соответствуютпростое целое число, такое как:
0413 198 234
(0407) 123-456
0412 diablo
Вы также должны быть осмотрительны в отношении gets()
, есть причина, почему это одна из немногих вещей, которые когда-либо были фактически удалены из стандарта - естьнет безопасного способа его использования.Вместо этого посмотрите на любой из многих вариантов, которые намного безопаснее, например, здесь .
(a) С точки зрения математических величин, очевидно.Они могут трактоваться по-разному в исходном коде C в зависимости от типа данных или используемого радиуса.