为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

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;

}


0 回复 有任何疑惑可以回复我~
#1

依木兰 提问者

请问大佬,为什么结尾要加一个return 0; 虽然我的教材也这样加,但我感觉加上和不加上没差别啊?
2018-11-27 回复 有任何疑惑可以回复我~
#2

御神_天照 回复 依木兰 提问者

因为需要一个int类型的返回值,不加默认返回0
2018-12-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信