Ошибка: "error: format specifies type 'long double' but the argument has type 'double *'" - C (СИ)
Формулировка задачи:
При компиляции моей программы мне выбивает ошибку "error: format specifies type 'long double' but the argument has type 'double *' [-Werror,-Wformat]" я уже перепробовал использовать всё, и %f и %lf и %Lf ничего не помогло. Подскажите в чём дело?
#include <stdio.h> #include <stdlib.h> #include <math.h> #define N 31 int main() { double x,y,z,i,j; int n; printf("Type x like (i,j):"); scanf("%f,%f",&i,&j); z=fabs(i-j); x=0; for(n=0;n<N;n++){ while(x<=z){ x+=z/N; y=exp(2*x-1.5)-log(x+2); printf("\nY=%Lf",&y); } } }
Решение задачи: «Ошибка: "error: format specifies type 'long double' but the argument has type 'double *'"»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> #define N 31 int main() { double x,y,z,i,j; int n; printf("Type x like (i,j):"); scanf("%lf,%lf\n",&i,&j); z=fabs(i-j); x=0; for(n=0;n<N;n++){ while(x<=z){ x+=z/N; y=1+exp(2*x-1.5)-log(x+2); printf("Y=%f\n", y); } } }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
, , . - Определение константы N.
- Объявление переменных: x, y, z, i, j (тип double).
- Ввод значений переменных i и j с помощью функции scanf.
- Вычисление значения переменной z как абсолютного значения разности i и j.
- Инициализация переменной x значением 0.
- Выполнение цикла for для прохода по всем элементам массива (так как N=31).
- Внутри цикла while выполнение цикла while для вычисления значения переменной x в пределах от 0 до z.
- Внутри цикла while вычисление значения переменной y по формуле y=1+exp(2*x-1.5)-log(x+2).
- Вывод значения переменной y на экран с помощью функции printf.
- Проверка условия окончания внутреннего цикла while (x<=z).
- При выходе из внутреннего цикла while, значение переменной x увеличивается на z/N.
- Значение переменной y вычисляется по формуле внутри цикла while.
- Значение переменной y выводится на экран с помощью функции printf.
- Цикл while повторяется до тех пор, пока значение переменной x не превысит значение переменной z.
- Цикл for повторяется для всех элементов массива (N=31).
- Значения переменных i и j считываются с помощью функции scanf.
- Значение переменной z вычисляется как абсолютное значение разности i и j.
- Значение переменной x инициализируется значением 0.
- Выполнение цикла while для вычисления значения переменной x в пределах от 0 до z.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д