为什么总是输出0?解决办法

为什么总是输出0??
我输入的是:3.5 9
C/C++ code
#include <stdio.h>
int main()
{
    double area,r,h;
    scanf("%1f,%1f",&r,&h);
    area = 2 * 3.14 * r * h + 2 * 3.14 * r * r;
    printf("%f",area);
    getch();
    return 0; 
}

为什么这段代码,总是输出0.000000

计算一下可以发现,结果明显不会是0啊!

------解决方案--------------------
scanf("%1f,%1f",&r,&h);
==>
scanf("%1f%1f",&r,&h);
试试

------解决方案--------------------
scanf("%lf,%lf",&r,&h);中的%1f改成%lf
即1改成小写的L如下
scanf("%lf,%lf",&r,&h);
输入时输入3.5,9
------解决方案--------------------
1、你那个是%1f?应该用%lf(L的小写字母l)。
2、由于你scanf时使用了","分割,那么在输入也应该是3.5,9。否则scanf("%lf%lf",..),那么在输入时可以使用3.5空格9
------解决方案--------------------
因为你的数据类型是double,如果是%f,则数据类型改成float。