Ошибка: "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);
        } 
    } 
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: , , .
  2. Определение константы N.
  3. Объявление переменных: x, y, z, i, j (тип double).
  4. Ввод значений переменных i и j с помощью функции scanf.
  5. Вычисление значения переменной z как абсолютного значения разности i и j.
  6. Инициализация переменной x значением 0.
  7. Выполнение цикла for для прохода по всем элементам массива (так как N=31).
  8. Внутри цикла while выполнение цикла while для вычисления значения переменной x в пределах от 0 до z.
  9. Внутри цикла while вычисление значения переменной y по формуле y=1+exp(2*x-1.5)-log(x+2).
  10. Вывод значения переменной y на экран с помощью функции printf.
  11. Проверка условия окончания внутреннего цикла while (x<=z).
  12. При выходе из внутреннего цикла while, значение переменной x увеличивается на z/N.
  13. Значение переменной y вычисляется по формуле внутри цикла while.
  14. Значение переменной y выводится на экран с помощью функции printf.
  15. Цикл while повторяется до тех пор, пока значение переменной x не превысит значение переменной z.
  16. Цикл for повторяется для всех элементов массива (N=31).
  17. Значения переменных i и j считываются с помощью функции scanf.
  18. Значение переменной z вычисляется как абсолютное значение разности i и j.
  19. Значение переменной x инициализируется значением 0.
  20. Выполнение цикла while для вычисления значения переменной x в пределах от 0 до z.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы