Как в Си получить последний элемент массива, размер которого заранее не известен?

int mas1[50];
int mas2[50];
int res[100];
int N1, N2;
printf("Input a first array length:\n");
scanned =
    scanf("%d", &N1);

printf("Input array: ");


for (int i = 0; i < N1; i++)
{
    scanned =
        scanf("%d", &mas1[i]);


}
printf("Input a second array length:\n");

scanned =
    scanf("%d", &N2);
if ((N1 <= 0) || (N2 <= 0) || (N1 == N2) || (N1 > 50) || (N2 > 50)) {
    printf("Error");
    return 0;
}
printf("Input array: ");

for (int i = 0; i < N2; i++)
{
    scanned =
        scanf("%d", &mas2[i]);

}

Ответы (1 шт):

Автор решения: user419509

Если я правильно понял

#include <stdio.h>

int main()
{
    
    
   int arr[500];
    
   int length = sizeof(arr) / sizeof(int); //кол-во элементов в массиве это размер массива разделенный на размер одного элемента
   
   if (length == 500) {
       printf("all ok \n");
   }
   
   
}

upd: Последний элемент массива - это размер -1 как и писали выше а код это получения размера массива

→ Ссылка