这是我为学校计划编写的代码 我的问题是,为什么printf不会将浮点值显示为inf(我认为是无穷大?),我知道以前的值都是int的,如果我将float放入() 无论如何,我们很感谢您的帮助
cheerzx
#include <stdio.h>
#include <conio.h>
int main()
{
int c1, c2, c3, parallelCap;
float seriesCap;
printf("please enter the value of the first resistor:");
scanf(" %d", &c1);
printf("please enter the value of the second rstr:");
scanf(" %d", &c2);
printf("please enter the value of the third resistor:");
scanf(" %d", &c3);
parallelCap = c1 + c2 + c3;
seriesCap = (float)1/(1/c1 + 1/c2 + 1/c3);
printf("the parallel capacitance is: %d the series
capacitance is: %f/n ", parallelCap, seriesCap);
getch();
return 0;
}
答案 0 :(得分:3)
您之所以得到inf
,是因为{{1},1/c1 + 1/c2 + 1/c3
和0
大于{{1 }},因此您最终将c1
除以c2
。这是因为它可以作为整数除法。您可以分别转换其中每个浮点数,也可以使用c2
作为分子
1