这个程序是用C语言编写结构返回错误-C
它应该得到两d阵列(matrixAdd),并与scanMtx进行扫描(扫描功能是不是在这里监守的代码是不相关)
问题:EDMtx函数返回扫描矩阵1,1,1,,1,-8,1,,1,1,1 当它返回到主它是:0,0,0, 0,0,0,垃圾,垃圾,垃圾
似乎有一个地址错误
我做了什么错?
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
struct matrix
{
int* ptr;
int row;
int column;
};
matrix EDMtx();
void main(int argc, char* argv[])
{
int matrixAdd[5][5]={{1,1,1,3,4},{1,1,1,3,4},{1,1,1,3,4},{1,1,1,3,4},{1,1,1,3,4}};
matrix mtx;
matrix scanMtx;
mtx.ptr=&matrixAdd[0][0];
mtx.row=5;
mtx.column=5;
scanMtx= EDMtx();
// mtx= ScanM(mtx,1,1,scanMtx);- doesn't important to you.
getchar();
}
matrix EDMtx()
{
int matrx[3][3]={{1,1,1},{1,-8,1},{1,1,1}};
matrix Mtx;
Mtx.ptr=&matrx[0][0];
Mtx.row=3;
Mtx.column=3;
return Mtx;
}
只是一个问题:你是否得到编译器警告? – mvds 2011-03-16 10:39:09
没有编译器警告或错误(使用微软视觉) – 2011-03-16 10:41:31