C语言中数组的问题

南宫绝峰 南宫绝峰 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
写了一个矩阵乘法的程序,运行时出现错误。还望高手给予解答


#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语言中,数组元素的循环右移是一个常见的操作,特别是在处理序列数据或者实现某些算法时。本篇文章将深入探讨如何解决这个问题,并提供一个具体的示例代码来演示如何完成这个任务。

weixin_38501299

C语言数组元素循环右移问题及解决方法

C语言数组元素循环右移问题及解决方法C语言数组元素循环右移问题是指在C语言中将数组元素循环右移的操作,即将数组中的元素向右移位,且循环移位。

weixin_38728276

约瑟夫环问题(数组法)c语言实现

"约瑟夫环问题(数组法)c语言实现"约瑟夫环问题是一个经典的理论问题,源自1世纪犹太历史学家弗拉维奥·约瑟夫斯的故事。问题描述了一个困境,其中N个人按照一定的规则从1到N编号并围成一个圈。每一轮,

weixin_38518722

C语言中全局数组和局部数组的问题

另外,C语言中的输入函数同样需要注意。例如,`gets()` 函数会读取一行输入直到遇到换行符,并将其存储到数组中。然而,由于它不检查目标数组的大小,存在潜在的缓冲区溢出问题,因此被废弃。

weixin_38677585

浅析C语言编程中的数组越界问题

在C语言编程中,数组越界是一个常见的错误,由于C语言不进行自动的数组边界检查,程序员必须自行确保数组操作的合法性。数组越界可能导致数据损坏、程序崩溃,甚至安全漏洞。下面我们将深入探讨这个问题。

weixin_38528459
评论 12
收藏 已收藏
分享
返回顶部
南宫绝峰
C语言 70,040 成员 243,237 内容