Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2011, 19:28   #1
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию printf

i=26;
printf (“%-6d****%%**** %o***** %x\n”, i, i, i);
Что значит 6 после дефисса которая.Читал что-то типо <ширина поля вывода>
Мне бы как нибудь попроще на примере объяснить.
stenl1 вне форума Ответить с цитированием
Старый 02.01.2011, 19:35   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

6d - это целый формат чисел (например int). При выводе числа, будет распечатано 6 десятичных разрядов.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 03.01.2011 в 07:37.
Smitt&Wesson вне форума Ответить с цитированием
Старый 02.01.2011, 19:56   #3
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию

Цитата:
Привыводе числа, будет распечатано 6 десятичных разрядов.
Про d я понимаю , это целое число типа int и должно вывести число 26. А вот по поводу 6 можно как не то еще попроще , что за десятичные разряды.?
stenl1 вне форума Ответить с цитированием
Старый 02.01.2011, 20:29   #4
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

1а цифра (цифры от 0 до 9) это и есть тот самый разряд
UltimaBeaR вне форума Ответить с цитированием
Старый 02.01.2011, 20:31   #5
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию

Цитата:
Сообщение от UltimaBeaR Посмотреть сообщение
1а цифра (цифры от 0 до 9) это и есть тот самый разряд
Ну и что эти разряды дают?Я не как их смысл работы не пойму!!!
stenl1 вне форума Ответить с цитированием
Старый 02.01.2011, 20:33   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

0009 - 4 разряда, 10 - 2 разряда, 55555 - 5 раззрядов... вы школу прогуливали?
p51x вне форума Ответить с цитированием
Старый 02.01.2011, 21:14   #7
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию

Приведите пример в каких случаях они используются (код). Так лучше получится разобраться
stenl1 вне форума Ответить с цитированием
Старый 03.01.2011, 00:24   #8
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

блин, а слабО подставить в прогу вместо 6 другое число и проверить, что выведется?
при -6d выведется 26, а за ней 4 пробела, потом уже все остальное. То бишь вы говорите компилятору, что надо вывести число 26 в поле с шириной в 6 символов, причем выровнять его по левому краю(об этом говорит минус). Почему именно 4 пробела? Ширина вывода у вас 6, в числе 26 - два десятичных разряда, то бишь две цифры(2 и 6), поэтому 6 - 2 = 4 - вот отсюда 4 пробела.

Поняли, что такое десятичные разряды? Это количество цифр в числе. Допустим, число 105. Число - одно, а цифр в нем три: 1, 0, 5, следовательно три десятичных разряда.

Ну как еще понятнее объяснить, я в душе не понимаю
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 03.01.2011, 12:26   #9
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
блин, а слабО подставить в прогу вместо 6 другое число и проверить, что выведется?
при -6d выведется 26, а за ней 4 пробела, потом уже все остальное. То бишь вы говорите компилятору, что надо вывести число 26 в поле с шириной в 6 символов, причем выровнять его по левому краю(об этом говорит минус). Почему именно 4 пробела? Ширина вывода у вас 6, в числе 26 - два десятичных разряда, то бишь две цифры(2 и 6), поэтому 6 - 2 = 4 - вот отсюда 4 пробела.

Поняли, что такое десятичные разряды? Это количество цифр в числе. Допустим, число 105. Число - одно, а цифр в нем три: 1, 0, 5, следовательно три десятичных разряда.

Ну как еще понятнее объяснить, я в душе не понимаю
Вот спасибо красиво и понятно объяснил. Что и нужно было.
stenl1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
лабораторная работа printf/scanf elenai Общие вопросы C/C++ 2 27.12.2010 10:47
Вопрос про фунцию printf() Anateron Общие вопросы C/C++ 12 12.03.2010 16:00
Ошибка в функцие printf Sarumjan PHP 5 26.02.2010 11:33
printf zmey31313 Помощь студентам 4 13.01.2010 18:29
unicode и printf Legat Общие вопросы C/C++ 9 06.07.2008 13:41