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