help! c++ 求圆柱体体积 但是结果输出一直为0 怎么改才能正常输出结果?

问题相关代码,请勿粘贴截图

#include <stdio.h>
#define PI 3.14159
int main(void){
double radius, length;
double area, volume;
printf("输入圆柱半径:");
scanf("%1f",&radius);
printf("输入圆柱长度:");
scanf("%1f",&length);
area=PIradiusradius;
volume=area*length;
printf("圆柱体积为:%.2f\n",volume) ;
return 0;
}

运行结果及报错内容

输入圆柱半径:6
输入圆柱长度:6
圆柱体积为:0.00


Process exited after 2.885 seconds with return value 0
请按任意键继续. . .

lf,不是1f
scanf("%1f",&radius); 这里要用lf,不是1f啊。1f的话,还是认为输入float类型,不是double。但变量申明的是double,所以输入后都认为是0,导致现在结果


#include <stdio.h>
#define PI 3.14159
int main(void){
    double radius, length;
    double area, volume;
    printf("输入圆柱半径:");fflush(stdout);
    scanf("%lf",&radius);
    printf("输入圆柱长度:");fflush(stdout);
    scanf("%lf",&length);
    area=PI*radius*radius;
    volume=area*length;
    printf("圆柱体积为:%.2lf\n",volume) ;
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632