我有一個兩行的數組,其中第一個包含所有素數達997的數據。第二行應包含初始化時的所有0,因爲它們稍後將通過for-loop給出值。然而,當我以下面的方式初始化數組:在C中只初始化一行二維數組?
nt prime(int numfac[2][168], int num){
int j = 0, i = 0;
int numfac[][] = {
{2,3,5,7,1,13,17,19,
23,29,31,37,41,43,
47,53,59,61,67,71,
73,79,83,89,97,101,
103,107,109,113,127,
131,137,139,149,151,
157,163,167,173,179,
181,191,193,197,199,
211,223,227,229,233,
239,241,251,257,263,
269,271,277,281,283,
293,307,311,313,317,
331,337,347,349,353,
359,367,373,379,383,
389,397,401,409,419,
421,431,433,439,443,
449,457,461,463,467,
479,487,491,499,503,
509,521,523,541,547,
557,563,569,571,577,
587,593,599,601,607,
613,617,619,631,641,
643,647,653,659,661,
673,677,683,691,701,
709,719,727,733,739,
743,751,757,761,769,
773,787,797,809,811,
821,823,827,829,839,
853,857,859,863,877,
881,883,887,907,911,
919,929,937,941,947,
953,967,971,977,983,
991,997},
{0}
};
我的編譯器返回:「陣列型具有不完整的元素類型」。
如何初始化C中的一個二維數組的一行?先謝謝你。
你可能會列出你得到的編譯器錯誤。我懷疑它與你提供的第二行只有一個值有關,而不是168個值。 – Dweeberly
@Dweeberly - 編輯器編譯錯誤。我想如果初始化的數量少於數組中的元素數量,其餘的會自動初始化爲0? – supersaidso
你可能是對的,因此我的編譯器錯誤的請求。你看起來很像一個「不規則數組」的初始化,編譯器可能會感到困惑。 ......我在:-)的時候很晚 – Dweeberly