2
int main()
{
    int r, c;
    r = getchar();
    c = getchar();
    putchar(r);
    putchar(c);
    printf("\n");
    return(0);
}

読み込み後r、プログラムは出力rして終了します。私はそれを求めてc入力したいのですが、どうしてそれができないのですか?

4

2 に答える 2

3

同じ行に文字を入力しますか、それとも2行に入力しますか?

getchar()Enterキーを押すまで待機してから、文字の解析を開始します。2つの異なる行に2文字を入力した場合、最初の文字が読み取られ、次に\n文字が読み取られます。

つまり、次の入力です。

a
b

と同等"a\nb"です。

getchar()\nの代わりに取得しb、を出力しますa\n\n

両方の文字を入力してから、Enterキーを押します。

于 2011-04-10T02:04:33.447 に答える
2

Xおそらく+と入力していますEnter。1つ目getchar()は文字Xを読み取り、2つ目はgetchar()Enterキーを押したときに生成された改行を読み取ります。Enterキーを押さずに両方の文字を入力します。

于 2011-04-10T02:05:16.570 に答える