【问题标题】:Function in C returns initial value of a variableC中的函数返回变量的初始值
【发布时间】:2020-03-30 02:03:16
【问题描述】:

我刚开始编程,我很难理解带有返回值的函数。例如,我尝试制作返回实数绝对值的函数:

包括

double absol(double x) {

    if (x>0) {
        return (x);
    }
    else {
        return (-x);
    }
}
main() {
    double x;
    scanf("%fl",&x);
    printf("%f",absol(x));
}

它返回零,如果我改变 x 的初始值,它会返回这个值。为什么它不采用我用 scanf 输入的值? 谢谢。

【问题讨论】:

  • 你确认scanf()实际上返回了一个非零值吗?

标签: absolute


【解决方案1】:

scanf("%fl",&x); 无法正确读取双精度。你需要scanf("%lf",&x);

【讨论】:

  • 非常感谢!奇怪的是它没有报告错误。现在可以了。
  • @JovJov 我相信它没有给出错误,因为%fl 仍然有效。它描述了一个浮点数,后跟字母l
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多