作者bizza (一个人的行李)
看板Programming
标题[问题] pow的问题in C
时间Sat Oct 7 00:25:17 2006
int a[10][4];
for(int i=0;i<10;i++)
{
for(int j=0;j<4;j++)
{
a[i][j]=(1+i)*pow(10 ,j);
printf("%d\t",a[i][j]);
}
printf("\n");
}
用上面的程式可以跑出下面这个结果
1 10 100 1000
2 20 200 2000
3 30 300 3000
4 40 400 4000
5 50 500 5000
6 60 600 6000
7 70 700 7000
8 80 800 8000
9 90 900 9000
10 100 1000 10000
但是我的问题是 它在debug时会出现一个warning 不过结果是有正确地跑出来
看书上写 好像是pow函数里面的参数要用double型态表示(?!)
於是我把 a[i][j]=(1+i)*pow(10 ,j); 改成 a[i][j]=(1+i)*pow(
10.0 ,j);
结果和上面的问题一样 跑的出来可是也有warning
後来把 int a[10][4]; 改成
double a[10][4];後 是没warning了
可是最後数字全变成0
想请教各位这个warning到底是怎麽一回事?
谢谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.148.242
※ 编辑: bizza 来自: 218.166.148.242 (10/07 00:27)
1F:推 guteres:参数要用double的意思不是指10变10.0 = = 210.244.14.42 10/07 00:34