Некорректный вывод данных после sprintf - C (СИ)
Формулировка задачи:
Доброго времени суток, подскажите, где возникает проблема при использовании след. кода:
При отладке программы temp[0] = '?', temp[1]=0x0A
Как правильно преобразовать double в char используя sprintf?
char temp[10]; double bodo; sprintf(temp,"%f\n", bodo);
Забыл дописать, переменная bodo допустм равна 156.342
Решение задачи: «Некорректный вывод данных после sprintf»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
int main()
{
char buffer[10];
double number = 156.342;
sprintf(buffer, "%lf", number);
printf("%s", buffer);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdlib.h и printf.h
- Объявление переменных:
- char buffer[10] - массив символов, используемый для хранения результата конкатенации
- double number = 156.342 - переменная типа double, содержащая число 156.342
- Использование функции sprintf для конвертации числа в строку и записи результата в массив buffer
- Использование функции printf для вывода содержимого массива buffer на экран
- Завершение программы возвратом значения 0