Ich lerne C alleine und mache ein paar Übungen.
Der folgende Code liest ein Array von Ganzzahlen vom Benutzer ein. Die Ganzzahlen werden ausgedruckt, wenn der Benutzer eine "0" eingibt oder wenn das Array gefüllt ist. Jetzt ist das Problem die Ausgabe.
Wenn ich "0" eintippe, nachdem ich 3 Ziffern eingegeben habe, z. 1 2 3 der Ausgang ist der folgende: 1 2 3 -858993460 -858993460. Ich bin nicht sicher, warum ich den Wert "-858993460" bekomme, aber ich habe bereits eine Lösung gefunden, um es zu vermeiden. Jetzt ist meine Frage, was die Werte bedeuten und ob es eine klügere Lösung als meine gibt, die unten als Kommentare präsentiert wird.Ein Array von ganzen Zahlen lesen und ausdrucken
#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();
}