Простейшая ошибка для более-менее опытного программиста, но не меня - C (СИ)
Формулировка задачи:
Написал кодПосле компиляции вылазит следующая ошибка: error #2140: Type error in argument 1 to 'pow'; expected 'double' but found 'double __cdecl (*)(double)'.
Что изменить в этой строчке?
#include <stdio.h>
#include <math.h>
#include <locale.h>
int main (void) {
float x, y, g;
setlocale(LC_ALL, "RU");
printf("Введите два числа");
scanf("%f%f", &x, &y);
if (x*y<2)
g=(x+6*y)/(2);
printf("g= %f\n", g);
if (x*y>=1 && x*y<=10)
g=(2)/(pow(exp,x))+cos(fabs(x-y));
printf("g= %f\n", g);
if (x*y>10)
g=(x*y+1)/(2+pow(x,2)+x*y);
printf("g= %f\n", g);
return 0;
}Решение задачи: «Простейшая ошибка для более-менее опытного программиста, но не меня»
textual
Листинг программы
g=2/(exp(x)+cos(fabs(x-y));
Объяснение кода листинга программы
- В коде имеется переменная
x, которая не была инициализирована и используется в выражении. - В коде имеется переменная
y, которая не была инициализирована и используется в выражении. - Функция
exp(x)возвращает экспоненту от значения переменнойx. - Функция
cos(fabs(x-y))возвращает косинус от абсолютного значения разностиxиy. - Результат выражения
2/(exp(x)+cos(fabs(x-y)))присваивается переменнойg.