小故障在C中初始化矩阵

use*_*944 1 c matrix

我试图在C中创建一个矩阵,以解决LaPlacian

但是,这是错误的.我已经在矩阵的初始化阶段找到了问题.每次运行程序时,它都会在一个元素中放置一个看似随机的值.这个数字每次都会改变,表明代码不稳定,如果矩阵大于9x9则会发生.

为什么会发生这种情况?

谢谢

我用来显示矩阵的代码是:

  // create matrix 
  double mat[meshno][meshno] = { {0} };  // x direction defined by i, y by j

  //variables 
  int i, j, k;

  //print initial matrix
for (i=0;i<=meshno;i++)
 { 
for(j=0;j<= meshno;j++)
 {
   printf("%f ", mat[i][j]);
 }
 printf("\n");
 }
Run Code Online (Sandbox Code Playgroud)

use*_*019 6

您正在查看每个数组末尾的元素.

你的for循环应该使用<而不是<=:

for (i = 0; i < meshno; ++i)
{ 
 for(j = 0; j < meshno; ++j)
 {
Run Code Online (Sandbox Code Playgroud)