2017-09-21 15 views
-3

に私のコード:問題GETCHARを使用して()を繰り返しC

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

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

getchar関数は、()文字を入力して、変数に代入するにはEnterキーを押しますし、ユーザーが必要です。私は、プログラムを2回入力することを期待して、毎回enterを押すことで終了しました。しかし、私は1つの文字列を入力することしかできず、プログラムは最初の2文字を自動的に読み込み、それを各変数に割り当てます。 どうしたのですか?

+1

問題は、文字+入力を入力することです。最初の 'getchar()'は文字を読み込み、2行目は改行を読み込みます。多くの似たような質問がここにあります。 –

+0

Enterキーを押すたびに、文字( '\ n')を入力します。実際には、一度に2つの文字を入力しています。 – usr

+1

脇に: '#include" stdio.h "main(){char a、b; ...は '#includeでなければなりません int main(void){int a、b; ... ' –

答えて

-1

getchar()では、文字を入力してEnterキーを押して変数に割り当てる必要があります。

番号getchar()は入力として1文字を受け入れます。 \nを入力しても、getchar()の1文字と見なされます。 文字を入力すると、最初にgetchar()の入力となり、'\n'と入力すると、2番目の入力はgetchar()となります。

例:あなたはaを押すと

uが'\n'を入力ヒットした場合、それは第二getchar()の入力として考えられるであろうそのあと、最初のgetchar()で読み取ることでしょう。

関連する問題