LINUX.ORG.RU

Разница только при scanf, где первый позволяет только десятичные(отсюда и d — decimal).

a1batross ★★★★★ ()
Ответ на: комментарий от a1batross

хорошо...а пределы значений какие? и того и того спецификаторов?

marsiver ()
Ответ на: комментарий от marsiver

Есть, вообще-то. Там написано, что печатается int. Диапазоны значений типов есть в /usr/include/limits.h.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Ты не правильно понял. Мне не нужны диапазоны char, short, int и т.д. Мне нужны возможности %d и %i. Ведь если они есть, значит между ними есть разница. Я хочу знать пределы значений, которые можно выводить с помощью %d и с помощью %i.

marsiver ()
Ответ на: комментарий от marsiver

Что тебе мешает сделать тестилку и посмотреть что выводится? Быстрее чем читать и быстрее чем спрашивать.

ilovewindows ★★★★★ ()
Ответ на: комментарий от marsiver

ilovewindows прав. Ты быстрее сам напишешь проверялку, чем будешь спрашивать в Интернете.

А лимиты обычные. Читай описание спецификаторов, что ожидается. Подсказка, все они хотят signed integer. Вот и думай дальше. :)

a1batross ★★★★★ ()
Ответ на: комментарий от marsiver

Нет никаких пределов, выводится любой возможный int. Тебе это зачем?

anonymous ()
Ответ на: комментарий от beastie

В частности:

d
Matches an optionally signed decimal integer; the next pointer must be a pointer to int.
 
i
Matches an optionally signed integer; the next pointer must be a pointer to int. The integer is read in base 16 if it begins with ‘0x’ or ‘0X’, in base 8 if it begins with ‘0’, and in base 10 otherwise. Only characters that correspond to the base are used.
beastie ★★★★★ ()
Ответ на: комментарий от kirk_johnson

могут быть

Не могут. Потому что стандарт. А он чётко говорит, что printf и scanf должны делать, а что не должны.

a1batross ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.