Сообщение от
m1n1vv
PHP код:
new const
str[][] =
{
{6, 7, 8},
{3, 7, 4},
{2, 5, 1}
};
Почему strlen(str[0]) указывает на 9, а при static 11?
Так потому что strlen обрабатывает массив как строку, не? И раз у тебя нет нулей в массиве, он будет сканировать память дальше, пока не встретит первый нуль (aka нуль-символ aka конец строки). Сделай так
PHP код:
new const
str[][] =
{
{6, 7, 8, 0},
{3, 7, 4, 0},
{2, 5, 1, 0}
};
И он во всех случаях будет выводить 3.
Размер подобных массивов не получить ни strlen, ни sizeof нормально (ну если у тебя в нём возможна запись нуля при нормальных обстоятельствах. Иначе можно сделать как я показал выше)