#include <stdlib.h>
#include <stdio.h>
struct card
{
char Top;
char Bottom;
};
int main()
{
int T,i;
struct card cards[4];
scanf("%d", &T);
for(i=0; i<3; i++)
{
scanf("%c%c%c", &cards[0].Top, &cards[1].Top, &cards[2].Top);
printf("%c%c%c\n", cards[0].Top, cards[1].Top, cards[2].Top);
}
return 0;
}
세 문자를 올바르게 인쇄하지 않고 for 루프 외부에서 스캔하고 잘 인쇄합니다.
문제에 대한 해결책
scanf
줄을 이것으로 변경하십시오 . (앞의 공백에 유의하십시오 %c
)
scanf(" %c %c %c", &cards[0].Top, &cards[1].Top, &cards[2].Top);
코드에 대한 기타 주석
항상에서 반환 값을 확인하십시오 scanf
. 다음과 같아야합니다.
if(scanf(" %c %c %c", &cards[0].Top, &cards[1].Top, &cards[2].Top) != 3) {
// Print error message and exit program or something else
} else {
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다