关于#c++#的问题:c++基础定义调用函数


#include 
double sign(double n);
int main()
{
    double x;
    double n;
    printf(" x:");
    scanf_s("%lf", &n);
    x = sign(n);
    printf("%0.0lf", x);
}
double sign(double n)
{
    double x;
    x = 0;
    if (n > 0)
    {
        x = 1;
    }
    else
    {
        if (x == 0)
        {
            x = 0;
        }
        else
        {
            x =-1;
        }

    }
    ;
    return x;
}

输入-5
理论答案是-1
但是实际是0
why

你 这里 自己 初始为 0 了

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^