아래 코드는 5 개의 숫자를 요청하고 주어진 숫자의 별표를 인쇄합니다. 숫자 변수는 5 개의 숫자를 어떻게 기억합니까? 다음 번에 입력 된 값이 변수 내부의 값을 소멸시키지 않습니까? 나는 이해하지 못한다. 나 한테 설명 해줄 수있어?왜 이런가요? 숫자 변수가 5 개의 다른 값을 얻는 방법? 어떻게 기억합니까?
Enter 5 numbers between 1 and 30: 28 5 13 24 7
****************************
*****
*************
************************
*******
#include <stdio.h>
int main(void){
int i;
int j; /* inner counter */
int number; /* current number */
printf("Enter 5 numbers between 1 and 30: "); /* loop 5 times */
for (i = 1; i <= 5; i++) {
scanf("%d", &number); /* print asterisks corresponding to current input */
for (j = 1; j <= number; j++)
printf("*");
printf("\n");
} /* end for */
return 0;
}
나쁜 질문을 제 2 입력을 위해 "루프"1 복귀를 마친 후 & 작동을 시작할 때 첫 번째. 숫자를 기억하지 못합니다. 인쇄가 끝나면 입력 된 다음 번호로 바뀝니다. – QuentinUK
코드를 처음 보았을 때 숫자가 인쇄 된 것보다 먼저 입력되고 다음 숫자가 입력되고 그 별표는 인쇄되지 않습니다. 하지만 컴파일하고 실행하면 전체 5 개의 숫자가 대량으로 인쇄됩니다. – Lyrk
@ user1939432 원래 질문에서 콘솔 *의 공간으로 구분 된 다섯 개의 숫자를 모두 입력하는 것이 왜 * 한 번에 하나씩 5 개의 숫자를 입력하는 것과 동일한 효과가 있었는지 이해하고 싶다는 것이 분명한 것은 아니 었습니다 반환*. – chrisaycock