作者aazz44ss (ken)
看板C_and_CPP
标题[问题] 表示性错误
时间Sat Apr 18 02:05:08 2009
我想写一个程式来显示int转double时的表示性错误
利用1/n 重复加n次
结果应该不会等於1吧
我的程式
#include<stdio.h>
#include<math.h>
int main()
{
float i,k,a,b,c;
for(i=2;i<=30;i++)
{
a=0.0;
for(k=i;k<(2*i);k++)
{
b=1.0/i;
a=a+b;
}
if(a=1.0)
printf("is 1\n");
else if(a<1.0)
printf("less than 1\n");
else
printf("greater than 1\n");
}
}
结果出来 我从2试到30 结果都是1
我希望应该有些结果是小於或大於1吧!!
是我想法错误还是语法错误
要怎麽改语法才能让某些结果不是1??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.232.93
1F:推 SBD:if(a=1.0) <---会不会是因为你赋值了? if(a==1.0) 04/18 02:23
2F:→ aazz44ss:对不起 真的是==的问题 我真是笨新手= =! 04/18 02:33
3F:推 chrisdar:if(1.0==a) 试试看 04/18 08:31