C语言中数组的问题
写了一个矩阵乘法的程序,运行时出现错误。还望高手给予解答
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*【功能说明】:普通的矩阵乘法
*【函数参数】:数组arr_A[len_i][len_j]、 arr_B[len_j][len_k]
*【函数输出】:数组arr_C的地址
*/
int **Matrix_Common (int **arr_A, int **arr_B, int len_i, int len_j, int len_k)
{
int **arr_C = NULL;
for(int i = 0; i<len_i; i++)
for(int k = 0; k<len_k; k++)
for(int j = 0; j<len_j; j++)
arr_C[i][k] += arr_A[i][j] * arr_B[j][k];
printf ("4***********\n");
return arr_C ;
}
int main()
{
// int arr_A[4][4] = {{1,0,2,1}, {4,1,1,0}, {0,1,3,0}, {5,0,2,1}};
// int arr_B[4][4] = {{0,1,0,1}, {2,1,0,4}, {2,0,1,1}, {1,3,5,0}};
//
int arr_A[2][3] = {{1,2,3}, {4,5,6}};
int arr_B[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int **arr_C = Matrix_Common ((int **)arr_A, (int **)arr_B, 2, 3, 4);
for(int i = 0; i<2; i++)
{
for(int j = 0; j<4; j++)
printf("%5d", arr_C[i][j]);
printf("\n");
}
return 0;
}
...全文
相关推荐
解决C语言数组元素循环右移的问题
在C语言中,数组元素的循环右移是一个常见的操作,特别是在处理序列数据或者实现某些算法时。本篇文章将深入探讨如何解决这个问题,并提供一个具体的示例代码来演示如何完成这个任务。
C语言数组元素循环右移问题及解决方法
C语言数组元素循环右移问题及解决方法C语言数组元素循环右移问题是指在C语言中将数组元素循环右移的操作,即将数组中的元素向右移位,且循环移位。
约瑟夫环问题(数组法)c语言实现
"约瑟夫环问题(数组法)c语言实现"约瑟夫环问题是一个经典的理论问题,源自1世纪犹太历史学家弗拉维奥·约瑟夫斯的故事。问题描述了一个困境,其中N个人按照一定的规则从1到N编号并围成一个圈。每一轮,
C语言中全局数组和局部数组的问题
另外,C语言中的输入函数同样需要注意。例如,`gets()` 函数会读取一行输入直到遇到换行符,并将其存储到数组中。然而,由于它不检查目标数组的大小,存在潜在的缓冲区溢出问题,因此被废弃。
浅析C语言编程中的数组越界问题
在C语言编程中,数组越界是一个常见的错误,由于C语言不进行自动的数组边界检查,程序员必须自行确保数组操作的合法性。数组越界可能导致数据损坏、程序崩溃,甚至安全漏洞。下面我们将深入探讨这个问题。


