int MyFunc(int mas1[M][N], int mas2[M])
{
register i, j;
int max;
for (i = 0; i != M; i++)
{
max = mas1[0][j];
for (j = 0; j != N; j++) if ( max < mas1[i][j] ) max = mas1[i][j];
mas2[i] = max;
}
printf ("Hello");
return mas2[M];
}
void MyFunc2 (int* mas1, int* mas2)
{
register i, j;
int max;
for (i = 0; i != N; i++)
{
max = *(mas1 + i);
for (j = 0; j != M; j++)
if ( max < *(mas1 + i * M + j) ) max = *(mas1 + i * M + j);
}
*(mas2 + M) = max;
printf ("Hello");
}
Но только верхняя выводит надпись hello. Просто баловался, проверял всякие мелочи и тут обнаружил такую интересную вещь. отличие лишь в том, что одна работает с указателями, а вторая с индексами массива. Так почему же вторая функция не выводит надпись ? Я сначала думал, что причина в войде но 1я функция и с войдом выводила!