#include <iostream>//两N阶矩阵相乘
#include <stdlib.h>
#include <time.h>
using namespace std;
int fun(int n,int **A,int **B,int **C)//地址传递指针
{
for(int i=0;i<n;i++)
{for(int j=0;j<n;j++)
{
int **C;
for(int k=0;k<n;k++)
{
C[i][j]=C[i][j]+A[i][j]*B[i][j];
}
cout<<" ";
}
 cout<<endl;
}
return 1;
}
void main()
{
int **A,int **B,int **C,int n;//开始:构建动态二维数组
cin>>n;
A=new int*[n];//N行           //这里我可以写成A=B=C=new int*[n];吗? 而不分开写 我怕出错误就分开写了
B=new int*[n];
C=new int*[n];
for(int i=0;i<n;i++)
{
A[i]=new int[n];//N列
B[i]=new int[n];
C[i]=new int[n];
}                            //结束:构建动态二维数组
for(int j=0;j<n;n++)         //开始:往三个动态数组里赋值 其中A[][],B[][]是被随机数赋值,C[][]是每个元素是0
{
for(int k=0;j<n;n++)
{
srand((unsigned)time(NULL));
A[j][k]=rand()%100;
B[j][k]=rand()%100;
C[j][k]=0;
}                   //结束:往三个动态数组里赋值 其中A[][],B[][]是被随机数赋值,C[][]是每个元素是0
fun(n,A,B,C);
}
}
程序到此结束,我运行后让我输入一个数n(n阶),但是输入数后什么也没发生 这个程序的正确输出是一个C的阶矩阵啊
补充:在随机数赋值那里:srand这个函数是给随机数产生一个随机种子(seed),函数原型是srand((unsigned)time(NULL)); time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。但是这里是三个并排写在一个循环的随即赋值 也就是说在同一时间里赋值
那赋的值是不是一样啊!