사용자의 두 문자를 t
번 입력하려고합니다. C에서 scanf()를 사용하여 두 개의 문자를 연속적으로 읽으십시오
int main()
{
int t;
scanf("%d",&t);
char a,b;
for(i=0; i<t; i++)
{
printf("enter a: ");
scanf("%c",&a);
printf("enter b:");
scanf("%c",&b);
}
return 0;
}
이 이상하게 출력은 아주 처음은 다음과 같습니다 :
입니다
enter a:
enter b:
, 코드가 a
의 값을 기다리지 않습니다 여기 내 코드입니다.
로 읽기 전에 줄 바꿈
'\n'
을 읽을 필요가 ... 또는 당신은 --->'scanf와 scanf''에서 %의 c' '앞에 공백을 배치 할 수 있습니다 ("%의 C", & A)'. – haccks@haccks 그래, 사실이 대답을 내 답변에 추가 할 것이다. 팁을 주셔서 감사합니다.) –
그냥 루프가 작동하지 않는 대신 getchar을 추가하는 것입니다. 그러나 루프의 시작 부분과 루프의 마지막 부분에 getchar를 추가하는 방법 이 경우에는 작동합니다. –