猿问

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

是一个简单的求圆面积代码

下面请看我的问题描述

#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);

}


CKeepMoving
浏览 1375回答 1
1回答

angie

你的r定义的是double,而你却用%f读入,换成%lf
随时随地看视频慕课网APP
我要回答