一个用C语言编成的程序在运行过程中出现的问题,与double和float有关。

2025-06-20 20:13:02
推荐回答(2个)
回答1:

你的C语言程序的问题是格式输入和输出符%f与变量类型double型不匹配,你如果定义a,b,c都是double类型,那么其输入输出格式符应该是%lf.

你的C语言程序我帮你改完了,你看看吧(改动的地方见注释)

#include 
int main (){//这里主函数有返回值
 double a,b,c;
 printf("长度:");
 scanf("%lf",&a);//如果a是double类型的格式输入要改成%lf
 b=0.0328084*a;
 c=0.3937008*a;
 printf("%.2lfcm %.2lfft %.2lfin",a,b,c);//如果a,b,c是double类型格式输出都要改成%lf
 return 0;
}

回答2:

scanf读入双精度数需要用%ld。