user-0 提问: 照着c教材打的 怎末用vc6.0运行就很多错误 求看下哪里错了

回复:
user: user-1
content: 引用 3 楼 weixin_44136834 的回复:你的代码运行完什么也不显示 我怀疑你的逻辑是有问题的，虽然语法错误没有了，但不等于程序能正常运行呢 建议你自己改改逻辑或者一句一句和书本上的对一下

user: user-0
content: 你的代码运行完什么也不显示

user: user-0
content: 你的代码运行完什么也不显示

user: user-1
content: #include<stdio.h> #include<stdlib.h>  struct Matrix_Descriptor{     int m;     int n;     double **base; };  //typedef strut Matrix_Descriptor Matrix; typedef struct Matrix_Descriptor Matrix;  Matrix * GetMatrixSpace(int m,int n) {     int counter;     Matrix *matrix;      matrix = (Matrix *)malloc(sizeof(Matrix));     if(matrix==NULL){         return(NULL);     }     matrix->base= (double **)malloc(m*sizeof(double *));     if(matrix->base==NULL){         free(matrix);         return(NULL);     }     //matrix->base[0] = malloc(m*n*sizeof(doublr));     matrix->base[0] = (double *)malloc(m*n*sizeof(double));     if(matrix->base[0]==NULL){         free(matrix->base);         free(matrix);         return(NULL);     }     matrix->m=m;     matrix->n=n;     for(counter=1;counter<m;counter++){         matrix->base[counter]=matrix->base[0]+counter*n;     }     return(matrix); }  void FreeMatrixSpace(Matrix*matrix) {     free(matrix->base[0]);     free(matrix->base);     free(matrix); }  void TimeMatrix(Matrix*matrixTimes,double coe,Matrix*matrix){     int row,col;     //for(row=;row<matrix->m;row++){     for(row=0;row<matrix->m;row++){         //for(col=;col<matrix->n;col++){         for(col=0;col<matrix->n;col++){             matrixTimes->base[row][col]=coe*matrix->base[row][col];         }     } } void MultiplyMatrix(Matrix *matrixProdut,Matrix *matrix1,Matrix *matrix2) {     int row,col,k;     double sum;     for(row=0;row<matrix1->m;row++){         //for(col=0;colmatrix2->n;col++){         for(col=0;matrix2->n;col++){             sum=0;             for(k=0;k<matrix2->n;k++){                 sum+=matrix1->base[row][k]*matrix2->base[k][col];             }             matrixProdut->base[row][col]=sum;         }     } } void PrintMatrix(Matrix *matrix) {     int row,col;     for(row=0;col<matrix->m;row++){         for(col=0;col<matrix->n;col++){             printf("%10.21f",matrix->base[row][col]);         }         printf("\n");     } } main() {     Matrix *GetMatrixSpace(int,int);     void FreeMatrixSpace(Matrix *);     void AddMatrix(Matrix*,Matrix*,Matrix*);     void TimeMtrix(Matrix*,double,Matrix*);     void MultiplyMatrix(Matrix*,Matrix*,Matrix*);     //voif PrinMatrix(Matrix*);     void PrinMatrix(Matrix*);     int row,col;     //Matrix *matrix1,*matrix2, matrix3;     Matrix *matrix1,*matrix2, *matrix3;     matrix1=GetMatrixSpace(3,4);     if(matrix1==NULL){         exit(1);     }     matrix2=GetMatrixSpace(4,3);     //if(matrix2=NULL){     if(matrix2==NULL){         FreeMatrixSpace(matrix1);         exit(1);     }     matrix3=GetMatrixSpace(3,3);     //if(matrix2=NULL){     if(matrix2==NULL){         FreeMatrixSpace(matrix1);         FreeMatrixSpace(matrix2);         exit(1);     }     for(row=0;row<3;row++){         for(col=0;col<4;col++){             matrix1->base[row][col]=1;         }     }     for(row=0;row<4;row++){         for(col=0;col<3;col++){             matrix2->base[row][col]=row*3+col;         }     }     //MultiplyMatrix(matrix3,matrix1,matrix2);     MultiplyMatrix(matrix3,matrix1,matrix2);     //TimesMatrix(Matrix3,2,Matrix3);     TimeMatrix(matrix3,2,matrix3);     printf("Matrix1:\n");     PrintMatrix(matrix1);     printf("Matrix2:\n");     PrintMatrix(matrix2);     printf("Matrix3:\n");     //PrintMatrix(matrix3);     PrintMatrix(matrix3);     FreeMatrixSpace(matrix1);     FreeMatrixSpace(matrix2);     //FreeMatrixSpace(matrix3);     FreeMatrixSpace(matrix3); } 如果照着教材还能输入这么多错误：变量名大小写，类型不匹配，类型名拼错，循环不赋值等等问题。  既然要写一个200多行的代码，为什么不没写一个函数就编译一下呢，这样像单词拼写错误也不至于出现这么多呢。  上面的代码供参考，语法错误已经修复，感觉代码逻辑还有问题，建议对比教材重新梳理一下。