在写程设矩阵乘法的题目的时候遇到一些问题
完整程式码在这里:https://pastebin.com/MxAUgHcY
这是执行结果:https://i.imgur.com/TWB7cYL.png
上面两区块是input,即一个2x3矩阵乘上一个3x4矩阵,最下面的区块是相乘完的结果
中间两个区块是测试过程,也就是我的问题所在
以下列出我的问题,基本的程式观念没有很好,还请前辈们多多指教
1. 我的作法是先宣告出要存相乘结果的矩阵并初始化,如程式第18行
我记得二维阵列可以用 = {0} 来把全部的内容初始化为0
但做完第18行后,print出新宣告的阵列结果会是测试区块的上面那块
出现几个很大的数字,感觉像是内存残值(?
用for循环重新设定每个为0之后才恢复正常全部都是0
是我 = {0} 的使用上有什么没注意到的吗
2. 宣告二维阵列大小的时候,大小是否可以用变量来表示
例如程式码中的第7行中的m跟k1在scan后才能决定值
那第8行的二维阵列那样宣告是合法的吗,还是一定要用malloc的方式才行
我用自己电脑的IDE (CB)跟线上compiler (C99)跑都有过
但同学跑一模一样的程式码compiler不给过(VS)