我的程序中需要一组字符串数组。我这样声明:
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]
(value is "P1"), programm 将输出 0。有什么问题吗?
如果元素是 1 个字母,如 A、B、C 等,它工作正常,但 P1 或 P2 失败。
完整的程序列表和工作程序在这里 http://ideone.com/ZMiVPE
最佳答案
He Here 在位置 [0,8] 显示值 0,因此,它是正确的。好吧,这是正确的。 Array 的安排如下:
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]}}
};
关于c++ - Array of arrays of string 正确声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21176181/