Выводит не то, что должен

Прошу помочь мне, хоть задача и тривиальна, но выводит не то. Функция должна вернуть значение 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;
}



Ответы (0 шт):