未检索平方根值

Square root values not being retrieved

我在让我的代码获取变量 numberresult 的用户输入时遇到问题。代码应该采取的正确方式是:当用户输入一个正值时,代码应该对该值求平方根并显示新值。截至目前,没有错误消息,代码运行良好,只是不是我想要的方式。

在查看输出时,它不获取任何值,也不计算平方根。

我在执行此代码时还需要使用指针(我觉得很奇怪)。指针是我非常陌生的东西,所以我希望在那个部门得到相当多的批评。

我已经尝试阅读一些关于指针和理解 sqrt 的教程,但感觉这些东西的关键部分仍然让我感到困惑。

代码:(由执行数学运算的函数 squareRoot 和处理 input/output 的 main 组成)

#include <stdio.h>
#include <math.h> //needed for sqrt()
#define POSITIVE 1 //not used atm
#define NEGATIVE 0 //not used atm

float squareRoot(float number, float * result) {

    return * result = sqrt(number); //calculate the square root of a number

}


int main() {

    float number = 0;
    float * result = malloc(sizeof(float));

        printf("Enter a float value: ");
        scanf("%f", &number);
        squareRoot(number, result);

    if (number < 0) {
        printf("Square root of a negative value is not possible.");
    }

    if (number > 0) {
        printf("Square root if %.2f is: %.2f "), number, result;
    }
 return 0;
}

非常感谢任何帮助或建设性的批评!

result是一个指针,你需要解引用它。

printf("Square root if %.2f is: %.2f ", number, *result);

如果您没有收到类型不匹配的编译器警告,请提高警告级别。