大佬求解!,为什么我输long是1.1,wide是1.1,结果出来一大串不知所云的数字。根本不是结果

来源:-

依木兰

2018-11-24 21:15

#include<math.h>

double area(double a,double b)

{double s=a*b;

return s;}

#include<stdio.h>

main(){

double a, b ,s;

printf("how much is your long");

scanf("%f",&a);

printf("how much is your wide");

scanf("%f",&b);

s=area(a,b);

printf("%f",s);

}


写回答 关注

1回答

  • 御神_天照
    2018-11-26 02:09:52
    已采纳

    double 类型使用%f格式会导致输入值错误,换成%lf就可以了。

    #include<stdio.h>

    #include<math.h>

    double area(double a,double b){

    double s=a*b;

    return s;

    }

    int main(){

    double a, b ,s;

    printf("how much is your long");

    scanf("%lf",&a);

    printf("how much is your wide");

    scanf("%lf",&b);

    s=area(a,b);

    printf("%lf",s);

    return 0;

    }


    御神_天照 回复依木兰

    因为需要一个int类型的返回值,不加默认返回0

    2018-12-10 18:09:46

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题