Выводит не то, что должен
Прошу помочь мне, хоть задача и тривиальна, но выводит не то. Функция должна вернуть значение z. Пишу в MS Visual Studio
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
double function2(double x)
{
return x;
}
int function(int x)
{
return pow(x, 2);
}
void pop(double(*func)(double), double u)
{
double y = func(u);
printf("%f - результут у функции\n", y);
return;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double z;
scanf("%f", &z);
pop(function2, z);
return 0;
}