作者mouse0411 (mouse)
看板C_and_CPP
标题[问题] 请问function
时间Sat Apr 25 06:53:31 2009
我有一个function是要找最大值
double fun(double *x,int n)
{
int i;
double buff;
for (i=1;i<n;i++)
{
if (x[i]>buff)
buff=x[i];
}
return buff;
}
void main()
{
double x[4]={2,10,6,8};
int w;
w=fun(x,4);
}
在TC上试 就可以很正确的w=10
不过在VC上就会变成 w=4
而将x的size改成7
VC上就会 w=7
感觉好像是回传size??
请版上大大们给小弟开导开导这个迷思了很久的问题@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.98.97
1F:推 phstudy:buff未初始化,阵列由0开始,w应为double 04/25 08:23
2F:推 ianfang:buff要初始化 不然你x[i]第一次不知道是跟什麽值比 04/25 08:24
3F:推 chrisdar:double buff=DBL_MIN; 04/25 08:31
4F:推 plover:or set buff = x[0], 都OK啦.. 04/25 09:47
5F:→ mouse0411:感恩大大们~~小弟会多注意 04/25 11:06