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

【?C语言新人求解】调用定义函数的小问题

【?C语言新人求解】调用定义函数的小问题

C C# C++
CKeepMoving 2017-03-07 14:05:35
是一个简单的求圆面积代码下面请看我的问题描述#include<stdio.h>int main(){ double yjc(double x); double r; double  s; printf("请输入圆的半径:");  scanf("%f",&r); s = yjc(r);   /*注意这里,当我括号()里面放r的时候,运行的结果无论如何都是0.000000,而当我放指定数字如s = yjc(2)程序就能正确的运算出我的结果,答案是2*2*3.1415926;而当我不用scanf,用double r = 4; 同样的,还是放s = yjc(r);程序也能正确的运算出结果为4*4*3.1415926;问题来了,为什么我用sancf,扫描输入的r值放入s = yjc(r);失败,可我用double r= 4;或者任意数字 ,程序确能算出来呢?是我scanf 配合其他语法使用错误了吗?新手真心求解!谢谢!*/ printf("圆的面积为%f",s); return 0;}double yjc(double x){ double y; double p; p=3.1415926; y=p*x*x; return ("%f",y);}
查看完整描述

1 回答

已采纳
?
angie

TA贡献56条经验 获得超8个赞

你的r定义的是double,而你却用%f读入,换成%lf
查看完整回答
反对 回复 2017-03-07
  • CKeepMoving
    CKeepMoving
    谢谢你!表示大一刚学C语言!老师还没讲那么多!太感谢了!!!!
  • angie
    angie
    不谢,但是我很希望你不仅仅明白了结果,更能明白%lf可以,为什么%f不行
  • 1 回答
  • 0 关注
  • 1374 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信