Вы ошибаетесь. Количество элементов в массиве - 5. Два элемента имеют непустые строки, а три элемента имеют пустые строки. Но на самом деле пустую строку можно разместить в любом месте массива. Например,
char Text[5][10] =
{
"Big12345",
"",
"Big54321",
};
Это объявление эквивалентно
char Text[5][10] =
{
"Big12345",
"",
"Big54321",
"",
""
};
. Вы можете написать функцию, которая определяет, сколько элементов содержит непустые строки. Например,
#include <stdio.h>
size_t count_non_empty( size_t m, size_t n, char s[][n] )
{
size_t count = 0;
for ( size_t i = 0; i < m; i++ )
{
count += s[i][0] != '\0';
}
return count;
}
int main(void)
{
char Text[5][10] =
{
"Big12345",
"",
"Big54321",
};
printf( "There are %zu non-empty elements\n", count_non_empty( 5, 10, Text ) );
return 0;
}
Вывод программы:
There are 2 non-empty elements