나는 C를 배우면서 몇 가지 연습을하고 있습니다.
다음 코드는 정수 배열을 사용자로부터 읽습니다. 정수는 사용자가 "0"을 입력하거나 배열이 채워질 때 인쇄됩니다. 이제 문제는 결과입니다.
3 자리 숫자를 입력 한 후 "0"을 입력 할 때. 1 2 3 출력은 다음과 같습니다. 1 2 3 -858993460 -858993460. 내가 왜 "-858993460"값을 얻었는지 잘 모르겠다.하지만 나는 그것을 피하기위한 해결책을 이미 찾았다. 이제 내 질문은 가치가 의미하는 바이며, 내 의견보다 더 똑똑한 해결책이 있다면 의견으로 제시됩니다.정수 배열 읽기 및 인쇄하기
0
입력이 주어 졌을 때의 모든
5
번호 인쇄 때문에이 문제가 발생
#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();
}