m0_73870357 2022-09-29 09:45 采纳率: 0%
浏览 19

无法执行area函数中的if语句,如何解决?(语言-c语言)

代码预期:输入三角形三条边,判断是否为三角形,是输出面积,不是输出bug
错误为:无论输入什么都为bug


#include <stdio.h>
#include <math.h>
double area(double a, double b, double c)
{
    if (a + b > c && a + c > b && b + c > a)
    {
        double p = (a + b + c) / 2;
        double s = sqrtf(p * (p - a) * (p - b) * (p - c));
        printf("%f", s);
        return s;


    }
    else printf("bug\n"); return 0;
}
int main()
{
    double a, b, c, s;

    scanf("%lf\n%lf\n%lf\n", &a, &b, &c);
    s = area(a, b, c);
    return 0;

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-09-29 10:05
    关注

    scanf("%lf%lf%lf", &a, &b, &c);就可以了

    评论

报告相同问题?

问题事件

  • 修改了问题 9月29日
  • 创建了问题 9月29日

悬赏问题

  • ¥15 想问一下这种情况怎么解决呢(关键词-file)
  • ¥15 python Flassk 模块部署 服务器时报错
  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)