c语言中怎么把一个数组的值赋到另一个数组中

double b1[5][2]={3,4,1,2,2,1,5,3,4,5};
double rel[5][2]={0};
double rel_1[5]={0.0667,0.1905,0.3143,0.4381,0.5619};
int l=0;
double *p_rel_1=rel_1;
for (i=0;i<5;i++)
{
for (j=0;i<2;j++)
{
l=(int)(n-b1[i][j]);
rel[i][j]=*(p_rel_1+l);
rel[i][j]=1;
l=0;

}
}
delete p_rel_1;
for (i=0;i<5;i++)
{
for (j=0;i<2;j++)
{

printf("rel[%d][%d]=%5.4lf ",i,j,rel[i][j]);

}
printf("\n");
}
为什么程序说内存无法写入呢?求大侠指点,怎么把数组的值赋值到rel数组中呢?

在回答之前想问你几个问题。
#include <iostream.h>
void main()
{
    double b1[5][2]={3,4,1,2,2,1,5,3,4,5};
    double rel[5][2]={0};
    double rel_1[5]={0.0667,0.1905,0.3143,0.4381,0.5619};
    int l=0,j,i;
    double *p_rel_1=rel_1;
    for (i=0;i<5;i++)
    {
         for (j=0;i<2;j++)
         {
             l=(int)(n-b1[i][j]);//n是什么?
             rel[i][j]=*(p_rel_1+l);
             rel[i][j]=1;
             l=0;
         }
    }
    delete p_rel_1;
    for (i=0;i<5;i++)
    {
        for (j=0;i<2;j++)//中间那个i在这里有什么用?
        {
            printf("rel[%d][%d]=%.4lf ",i,j,rel[i][j]);
        }
        printf("\n");
    }
}

追问

这个是大程序里的一个小部分
n=5;
i应该变成j

追答

我分析了一下你的程序,我觉得你看完之后应该知道怎么改,但是我这个局外的确实不知道怎么改。

#include <iostream.h>
#include <stdio.h>//这个是printf引用的库
void main()
{
    double b1[5][2]={3,4,1,2,2,1,5,3,4,5};
    double rel[5][2]={0};
    double rel_1[5]={0.0667,0.1905,0.3143,0.4381,0.5619};
    int l=0,j,i;
    double *p_rel_1=rel_1;//重命名,指针的位置指向同一内存
    for (i=0;i<5;i++)
    {
         for (j=0;j<2;j++)//这个的中间源程序里也写的是i
         {
             l=(int)(5-b1[i][j]);//这里用5代替了n
             rel[i][j]=*(p_rel_1+l);//存储rel_1[1]的内容
             rel[i][j]=1;//为什么从新赋值一次?那上一部有什么用?
             l=0;//这又是在做什么?
         }
    }//整个循环完事儿之后就只剩下rel[i][j]=1;和l=0;

    delete p_rel_1;//删除内存
    for (i=0;i<5;i++)
    {
        for (j=0;j<2;j++)
        {
            printf("rel[%d][%d]=%5.4lf ",i,j,rel[i][j]);//打印出来估计都是1
        }
        printf("\n");
    }
}//整个程序,没看出来是在做什么

追问

我那个程序里就是传递数组值的部分不对,我想知道怎么把rel_1的下标变成 5-b1[i][j]的rel_1的值 赋值到rel数组中去

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-26
不可以a【10】指的是a数组的第11个元素,同样b也一样,你这样写只能够把b的第11个元素值赋给a的第十一个元素
求采纳为满意回答。追问

不要乱回答

相似回答