猿问

C语言问题求助

#include <stdio.h>

int main()

{

int num,i,day;

float price=0,average;

for(i=2;i<=100;i=2*i)

{

num=num+i;

day=day+1;

}

price = num * 0.8; 

average=price / day;

printf ("The average is %d",price);

return 0;

很简单的程序。但是  我不明白为什么 我输出的price的数字那么诡异。输出 num =126 很正常的。 可能是 price =num*0.8 这句话不对?  哪里出了问题。谢 ~


何以度余生丶
浏览 1245回答 1
1回答

寒杨

你的price类型是 float 类型,而 %d 是输出 int 类型,将 %d 改成 %f 就好了
随时随地看视频慕课网APP
我要回答