读书人

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

发布时间: 2012-04-24 14:15:38 作者: rapoo

为什么总是输出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。

读书人网 >C语言

热点推荐