2014-01-17 173 views
0

我需要在我的程序中的字符串數組數組。我聲明它這樣:字符串數組正確聲明

string edges[N][N] = { 
{"0", "A", "0", "B", "E", "0", "0", "P1", "0"}, 
{"A", "0", "D", "I", "0", "0", "0", "0", "0"}, 
{"0", "D", "0", "0", "0", "H", "F", "0", "0"}, 
{"B", "I", "0", "0", "0", "H", "0", "0", "0"}, 
{"E", "0", "0", "0", "0", "0", "0", "P2", "0"}, 
{"0", "0", "H", "H", "0", "0", "0", "0", "P4"}, 
{"0", "0", "F", "0", "0", "0", "0", "0", "P3"}, 
{"0", "0", "0", "0", "0", "0", "0", "0", "0"}, 
{"0", "0", "0", "0", "0", "0", "0", "0", "0"}, 
}; 

它的好,當我試圖訪問與1個字母的值(A或B等)的字符串,但如果我嘗試用2-字母值來訪問字符串,如edges[0, 7] (值爲「P1」),程序將輸出0.出什麼問題了?
它工作正常,如果元素是像A,B,C等單字母,但失敗與P1或P2。
完整的程序列表和工作程序在這裏http://ideone.com/ZMiVPE

+0

「字符串這是字符」?哪有這回事。你是指只有一個字符長的字符串(不包括空終止符)? – ApproachingDarknessFish

+0

難道你不是指'邊緣[0] [7]'? '邊緣[0,7]'與'邊緣[7]'相同。 – Angew

+0

@Angew我的意思是'邊緣[0] [7]'。抱歉。 @ValekHalfHeart,對不起我的英文不好,我編輯了我的問題。 –

回答

0

因爲你想要7,而不是8. C語言我們0索引。

+0

糟糕。 [0,7]',對不起,編輯。 –

1

他這裏顯示位置[0,8]的值爲0,所以它是正確的。好吧,這是正確的。 陣是怎麼回事安排如下:

string edges[N][N] = { 
{[0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6], [0,7], [0,8]}, 
    .... 
[8,0], [8,1], [8,2], [8,3], [8,4], [8,5], [8,6], [8,7], [8,8]}} 
};