我有一個矩陣和一個struct
與2 int
變量。使用結構的矩陣
struct virus {
int gen;
int neighbours;
}
我想初始化我的全gen
矩陣與1
值。問題是它不適用於矩陣的第一列。 我會在代碼後發表聲明。 另外,當我試圖設置我的矩陣爲virus struct
它不起作用,我不得不初始化一個新的矩陣,我稱之爲b
。 這只是一個簡單的初始化和打印。
#include <stdio.h>
struct virus {
int gen;
int neighbours;
};
void initGen(int n, int a[][100])
{
struct virus b[n][100];
int i,j;
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
b[i][j].gen = 1;
}
}
}
void printMatrixGen(int n, int b[][100])
{
struct virus a[n][100];
int i;
for(i = 0; i < n; i++)
{
int j;
for(j = 0; j < n; j++)
printf("%d\t", a[i][j].gen);
printf("\n");
}
}
int main(void)
{
int a[100][100], n;
n = 4;
initGen(n,a);
printMatrixGen(n,a);
return 0;
}
輸出是矩陣
0 1 1 1
0 1 1 1
0 1 1 1
0 1 1 1
代替
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
爲什麼你傳遞一個數組作爲參數,忽略它,然後初始化一個局部數組呢?這段代碼沒有任何意義,這就是你錯誤的原因。 – Lundin
順便說一句:_it沒有工作_不是問題描述。你需要告訴我們實際發生了什麼以及你期望發生什麼。 –
我剛剛編輯了代碼,並添加了程序給我的輸出和應該輸入的輸出。 –