нужен свежий взгляд на Printf

  • Автор темы Ivan716
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

Ivan716

int power;
double number, result;
....
....
printf("\nnumber = %d", number);
printf("\npower = %d", power);
printf("\nresult = %d", result);

printf("\n\n number = %d; power = %d; result = %d", number, power, result);


на вывод выходит разные значения для result и power;
когда выдаю отдельными значениями все ок, когда выдаю
одной строкой то указанные переменные не соответствуют
своим значениям.

подозреваю, что я что-то путаю со спецификатором, но что???
при использовании спецификатора Ld на экране тоже самое
 

Вложения

  • hz.JPG
    hz.JPG
    12,3 КБ · Просмотры: 431
I

ierofant

Спецификатор для чисел с плавающей точкой (float, double) - %f, а %d - целые десятичные числа.
 
L

lazybiz

Вот тут тоже почитай что к чему:
 
R

RiCrO

Пользуйся cout и cin... Эти ребята заточены под С++, и мне кажется что с ними работать удобнее. Хотя в printf возможностей кажется больше.
 
I

ierofant

В целом всё верно (если кодить именно на C++), но вот только с последним утверждением нельзя согласится. Просто манипуляторы стандартных потоков C++ плохо освещены, а на самом деле их вон сколько:


И ещё стоит отметить, что собственные типы можно приспособить для вывода через потоки, посредством перегрузки операторов. printf же выводит только стандартные типы.
 
R

RiCrO

И ещё стоит отметить, что собственные типы можно приспособить для вывода через потоки, посредством перегрузки операторов. printf же выводит только стандартные типы.

А про это я и совсем забыл. Благодарю за исправление.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!