배열 (nchar[12]
)이 있는데 "X"로 구성된 세로 열로이 코드를 인쇄했습니다.루프 내에서 상태 시스템 상태 전환
처음 누적 기와 while 루프를 사용하여 버전을 작성했으나 정상적으로 작동했지만 지정된 한도만큼만 열을 인쇄 할 수있었습니다.
그런 다음 상태 시스템으로 쓰려고했지만 출력은 끝이없는 일련의 공백입니다.
나는 다음 int로 상태를 선언하고 여기에 1의 값을 할당 :while (status = 1) {
for (i = 1; i <= 12; ++i) {
status = 0;
if (nchar[i] > 0) {
printf(" X");
--nchar[i];
status = 1;
}
else
printf(" ");
}
그것을 그냥가 마지막으로 처리 된 줄을 인쇄 할 수있는 값을 찾을 수없는 경우 중지해야하지만 영원히 계속되고 나는 왜 이해하지 않는다.
nchar [12]를 선언하면 1에서 12가 아닌 0에서 11까지의 루프가 필요합니다. –
'1'에서 시작하여 위로 올라가는 인덱스 변수 'i'와 루프에 대해 조금 걱정됩니다. to *를 포함하고 * 12를 포함합니다. 나는 배열이 0에서 size - 1까지 인덱싱되기 때문에 걱정이된다. 그래서'nchar'이 크기 12의 배열이면 인덱스는'0'에서'11'으로갑니다. –
문제를 해결하는 방법은 디버거를 사용하는 방법을 배우십시오. 디버거를 사용하여 코드를 한 줄씩 단계별로 실행하여 어떤 일이 발생하는지 확인할 수 있기 때문입니다. –