作者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