题目:将一个二维double数组复制到另一个二维数组
问题:在定义第二个函数的时候报错了,为什么会错,又要怎么改?
#include <stdio.h>
#define x 3
#define y 2
void copyone(double* p1, double* p2, int n);
int copy(double(*ptra)[y], double(*ptrb)[y]);
//int add(double(*ptra)[LEN], double(*ptrb)[LEN];
int main()
{
double a[] = { 1,2,3,4,5, };
double b[5];
double c[x][y] = { 1.1,2.1,3.1,4.1,5.1,6.1 };
double d[x][y];
double e[x][y] = { 2.1,2.2,2.3,2.4,2.5,2.6 };
copyone(a, b, 5);
copy(c, d);
return 0;
}
void copyone(double* p1, double* p2, int n)
{
for (int i = 0; i < n; i++) {
*(p2 + i) = *(p1 + i);
printf("%.0lf\t%.0lf\n", *(p1 + i), *(p2 + i));
}
}
int copy(double(*ptra)[], double(*ptrb)[])
{
for (int i = 0; i < x; i++) {
copyone(ptra + i, ptrb + i, y);
}
}
#include <stdio.h>
#define x 3
#define y 2
void copyone(double* p1, double* p2, int n);
int copy(double(*ptra)[y], double(*ptrb)[y]);
//int add(double(*ptra)[LEN], double(*ptrb)[LEN];
int main()
{
double a[] = { 1,2,3,4,5, };
double b[5];
double c[x][y] = { 1.1,2.1,3.1,4.1,5.1,6.1 };
double d[x][y];
double e[x][y] = { 2.1,2.2,2.3,2.4,2.5,2.6 };
copyone(a, b, 5);
double (*c1)[y] = c;
double (*d1)[y] = d;
copy(c, d);
return 0;
}
void copyone(double* p1, double* p2, int n)
{
for (int i = 0; i < n; i++) {
*(p2 + i) = *(p1 + i);
printf("%.0lf\t%.0lf\n", *(p1 + i), *(p2 + i));
}
}
int copy(double(*ptra)[y], double(*ptrb)[y])
{
for (int i = 0; i < x; i++) {
copyone(ptra[i], ptrb[i], y);
}
return 0;
}