我的一个程序类似这个例子,为啥值传的不对?
希望大虾能帮忙
void minrect(double v[])
{
v[1] = 8;
v[2] = 9;
v[3] = 11;
}.....
double array[3];
minrect(array);
for(int i = 0;i<3;i++)
{
cout<<array[i]<<endl;
}
值传出来的全是0;

解决方案 »

  1.   

    其实你的这个程序是没有什么错误的.
    主要问题在: V[0] 你没有给它赋值. 所以就是一个随机值.#include <iostream>
    using namespace std ;void minrect(double v[]) 

    v[0] = 8; 
    v[1] = 9; 
    v[2] = 11; 

    void main()
    {
    double array[3]; 
    minrect(array); 
    for(int i = 0;i <3;i++) 

    cout<<array[i] <<endl; 
    }  cin.get() ;
    }
    这是我做了小小小小的修改后的程序. 可以输出正确的值
      

  2.   

    v[1] = 8; 
    v[2] = 9; 
    v[3] = 11; 
    下标错了
      

  3.   

    谢谢楼上的回复
    源程序是这样的 
    MinRect(double v[])
    {
    double xx,yy,zz;
    .........//求出三个变量的值,这个过程确保是正确的
    v[0] = xx;
    v[1] = yy;
    v[2] = zz;
    }另外一个调用函数不在该类中(上面的这个函数放在了JISuan类中)我是在VC++中写的程序调用函数在view类中
    double array[3];
    CDibNew1->MinRect(array);
    CDSplitDoc* pDoc = GetDocument();
    pDoc->SaveMany("zuixiaojuxing", array, sizeof(array)/sizeof(double));
    后两行的程序代码在其他地方也使用过,是正确的。这个程序运行是是没问题,但就是得到的值不对