Я изучаю C самостоятельно и делаю несколько упражнений.
Следующий код читает в массиве целых чисел от . Целочисленные числа распечатываются, когда пользователь вводит «0» или когда массив заполняется. Теперь проблема заключается в выходе.
Когда я набираю «0» после того, как я набрал 3 цифры, например. 1 2 3 выход следующий: 1 2 3 -858993460 -858993460. Я не уверен, почему я получил значение «-858993460», но я уже нашел решение, чтобы избежать этого. Теперь мой вопрос - это то, что означают значения, и если есть более разумное решение, чем мое, которое представлено ниже в качестве комментариев.Чтение массива целых чисел и их распечатка
#include <stdio.h>
#include <string.h>
#define arraylength 5
int main()
{
//const int arraylength = 21; //alternative possibility to declare a constant
int input [arraylength] ;
int temp = 0;
//int imax = 0;
printf("Please type in a your digits: ");
for (int i = 0; i < arraylength; i++)
{
scanf("%d", &temp);
if (temp !=0)
{
input[i]= temp;
//imax= i;
}
else
{
//imax= i;
break;
}
if (i < arraylength-1)
printf("Next: ");
}
for (int i =0; i < arraylength; i++) // switch arraylength with imax
{
printf("%d", input[i]);
}
getchar();
getchar();
getchar();
}