C语言不会用了,求助,急

2019-10-15 22:04发布

想找个矩阵运算的函数,在网上搜了个 矩阵转置函数,参数是二重指针,没这么玩过,想求教我写函数时应该怎么写输入参数?比如定义一个二维数据test1[3][3]  = {{1,1,1},{2,2,2},{3,3,3}};
想通过下面的函数转到test2[3][3]中,怎么写?怎么试都在报错。一重的指的话就直接matrix_t(test1,test2,3,3);但是二重。。。。不会了

  • void matrix_t(double **a_matrix, const double **b_matrix, int krow, int kline)  
  • ////////////////////////////////////////////////////////////////////////////  
  • //  a_matrix:转置后的矩阵  
  • //  b_matrix:转置前的矩阵  
  • //  krow    :行数  
  • //  kline   :列数  
  • ////////////////////////////////////////////////////////////////////////////  
  • {  
  •     int k, k2;     
  •   
  •     for (k = 0; k < krow; k++)  
  •     {  
  •         for(k2 = 0; k2 < kline; k2++)  
  •         {  
  •             a_matrix[k2][k] = b_matrix[k][k2];  
  •         }  
  •     }  
  • }  


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
yuzeyuan1
1楼-- · 2019-10-16 01:19
多谢各位,大概明白了,下午试试。昨天晚上试着在调用函数时还是写matrix_t(test1,test2,3,3),理论上讲这样写是对的,担心是编译器的问题,就强制类型转换成了matrix_t((double**)test1,(double**)test2,3,3),竟然就可以用了,说明真有可能是编译器不识别这种写法。但是使用时会导致程序死机,原因还没找到。
xuande
2楼-- · 2019-10-16 05:43

好复杂,帮顶

yuzeyuan1
3楼-- · 2019-10-16 10:50
 精彩回答 2  元偷偷看……
RspeederR
4楼-- · 2019-10-16 15:03
告诉你一个方法,你把初始化的形式也写成矩阵的形式,这样或许你就知道该怎么做了。现在的写法有些抽象
RspeederR
5楼-- · 2019-10-16 19:15
告诉你一个方法,你把初始化的形式也写成矩阵的形式,这样或许你就知道该怎么做了。现在的写法有些抽象
憨厚诚实大叔
6楼-- · 2019-10-16 20:23
本帖最后由 憨厚诚实大叔 于 2016-12-20 13:01 编辑

二维数组和二维指针是不一样的,别乱用

一周热门 更多>