체스 조각을 넣을 수있는 NxN 크기의 매트릭스가 있습니다 (N은 2 ~ 10 사이의 숫자 임). 하나의 필드를 하나만 넣을 수 있습니다. 프로그램은 테이블 크기를 묻고 다음과 같이 체스 조각 위치를 묻습니다.
1 편 : B2
2 편 : C5
3. 조각 : D2
... 사용자가 'X'를 입력하여 루프를 종료 할 수있는 마지막 조각 후
.여러 값을 스캔하여 배열에 추가하는 방법은 무엇입니까?
char inputPosition(char position[]) {
int i = 0;
do {
printf("%d. piece: ", i+1);
scanf("%s", &position[i]);
i++;
}while(position[i-1]!='x');
return position;
}
출력 외모 : 내가 사용하려고이 함수의 코드가
char position[100] = {B2C5D2}
:
내 문제는 내가 이런 하나 개의 배열에 모든 데이터를 입력해야한다는 것입니다 이런 식으로 : (B2C5D2 용)
BCDx
나는 scanf를 사용해야하며 프로그램은 val을 가져서는 안된다. ue x를 매개 변수로 사용하지만 무엇을해야할지 모르겠습니다.
편집 : 예에서 위치가 유효한지 여부는 중요하지 않습니다. 또한 char 위치의 최대 입력을 편집했습니다. (내가 사용해야하는 최대 변수는 약 10입니다.) 제 실제 문제는 모든 위치를 공백없이 하나의 배열에 넣을 수 없다는 것입니다.
읽을 필요가 없습니다 '& position [2 * i]'에 넣으시겠습니까? 그리고'% s' 대신에''% 2c "'를 사용하지 않는 한, 20 문자 배열로 9 개의 위치 만 저장할 수 있습니다. 당신은 여전히 위치에 10 쌍의 문자가있는 null로 끝나는 문자열을 갖고 있지 않습니다. 또한 해당 직위가 유효한지 확인하지 않았습니다. –