2017-09-21 8 views
-3

에서) getchar가를 (사용하는 경우 내 코드 :문제가 반복적으로 C

#include "stdio.h" 
main() { 
    char a,b; 
    a=getchar(); 
    b=getchar(); 

    putchar(a); 
    putchar('\n'); 
    putchar(b); 
} 

getchar가() 문자를 입력하는 사용자가 필요하고 변수에 할당 Enter 키를 누릅니다. 나는이 프로그램이 내가 두 번씩 문자를 입력하게 할 것을 기대했다. 그러나 하나의 문자열 만 입력하면 프로그램은 자동으로 처음 두 문자를 읽고 각 변수에 할당합니다. 무엇이 문제입니까?

+1

문제는 문자 + 입력을 입력하는 것입니다. 첫 번째'getchar()'는 문자를 읽고, 두 번째는 개행을 읽는다. 많은 비슷한 질문이 여기에 있습니다. –

+0

ENTER를 누를 때마다 문자 ('\ n')를 입력하십시오. 따라서 실제로 한 번에 2자를 입력하고 있습니다. – usr

+1

다음과 같이 :'#include "stdio.h"main() {char a, b; ...''이어야합니다. #include int main (void) {int a, b; ...' –

답변

-1

getchar() 사용자가 문자를 입력 한 다음 enter 키를 눌러 변수에 할당해야합니다.

번호 getchar()은 단일 문자를 입력으로 허용합니다. 심지어 \n을 입력하면 getchar()으로 단일 문자로 간주됩니다. 문자를 입력하면 처음에는 getchar()의 입력이되고 '\n'을 입력하면 두 번째 getchar()의 입력이됩니다.

예 :

당신이이 후 유 '\n'이 두 번째 getchar()의 입력으로 간주 될 수를 입력 치면 먼저 getchar() 읽을 것 a을 눌러

.