double类型的变量在scanf 中如何输入

double类型的变量在scanf 中怎么输入
#include<stdio.h>
#define PI 3.1415
int main(void)

{
    double radius,area;
    scanf("%f",&radius);
    area=PI*radius*radius;
    printf("The area is %g",area);

    return 0;
}

运行程序时,无论输入什么数,radius中都是乱码,是不是我的转换说明符用的不对,或者是其他一些原因
C scanf

------解决方案--------------------
scanf(("%lf",&radius);