私は自分でCを学習していますが、いくつかの練習をしています。
次のコードは、 の整数の配列をユーザーから読み取ります。整数は、ユーザーが「0」を入力するか、配列が塗りつぶされたときに出力されます。今問題は出力です。
3桁の数字を入力した後に「0」と入力すると、 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();
}