首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

程序有关问题

2012-02-20 
程序问题,求助#includestdio.hdouble copy_ptr(double *a,double *b,int n)int main(){int i0,j0dou

程序问题,求助
#include"stdio.h"
double copy_ptr(double *a,double *b,int n);
int main()
{
int i=0,j=0;
double source[][4]={{1.0,2.0,3.0,4.0},{4.0,5.0,6.0,7.0},{8.0,9.0,5.0,7.0}};
double target[][4]={0.0};
copy_ptr(source[],target[],4);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%lf",target[i][j]);
}
}
double copy_ptr(double *a,double *b,int n)
{
int i=0;
while(i<n)
{
*b++=*a++;
i++;
}
}
上面的程序要实现,把一个二维数组复制到另一个二维数组中去
我写的没法实现.高手帮忙看下,多谢了

[解决办法]
"还有那里有错 "

呵呵,你程序总共才几行啊

剩下的估计就是写copy_ptr的函数体了
你原来的copy_ptr的函数体内的语句可以全部删除了
除了 int i=0; 那行
不过最好你改成 int i;
因为我看不惯int i=0;

[解决办法]
下面这种方法可以实现你要的功能,但是这个忽略了数组维数的概念

C/C++ code
#include <stdio.h> void copy_ptr(double *a, double *b, int n);int main() {     int i = 0,        j = 0;     double source[][4] = {{1.0,2.0,3.0,4.0},                          {4.0,5.0,6.0,7.0},                          {8.0,9.0,5.0,7.0}};     double target[][4]={0.0};     copy_ptr(&source[0][0], &target[0][0], 16);     for (i = 0; i < 3; i++)     {         for (j = 0; j < 4; j++)         {                printf("%lf ", target[i][j]);             if (j == 3)                printf("\n");        }    } } void copy_ptr(double *a, double *b, int n) {     int i = 0;     while(i < n)     {         *b++ = *a++;         i++;     } } 

热点排行