Indirection requires pointer operand ('double' invalid) как исправить
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define _USE_MATH_DEFINES
#define M_SQRT
double x;
double A;
double tan(double );
double cos(double );
int main(void )
{
system("chcp 1251");
printf("\n Введіть х:\n");
scanf("%lf", &x);
if( x < 1 && x> -1 ){
A = (( 1 / tan(x) ) - ( ( 2*x ) / (x - 0.4) ) + ( M_SQRT * cos(x*x*x) ) );
printf("\n Значення виразу дорівнює:\n %lf", &A);
}
else
printf("\n Введене число не відповідає ОДЗ");
}
Ответы (1 шт):
Автор решения: EOF
→ Ссылка
У Вас пустой #define M_SQRT. Это значит, что код
(M_SQRT * cos(x*x*x))
превращается в
(* cos(x*x*x))
А это уже разыменование указателя. cos возвращает double, а не указатель.