質問編集履歴

1 誤字

tsehcohi

tsehcohi score 7

2018/10/14 20:10  投稿

c言語のgetchar()
#include <stdio.h>
int main(void)
{
 char ch;
 do {
   ch = getchar();
   putchar('.');
 } while (ch != '\n');
 return 0;
}
実行例
aa
...
c言語の参考書にあったコードなのですが、このような実行結果になるのが理解できません。
getcharで複数の文字を打つと、最初の文字が返されて他の文字は入力バッファに残るのは知っているのですが、そうしたら上の例だと、
getcharで複数の文字を打つと、最初の文字が返されて他の文字はバッファに残るのは知っているのですが、そうしたら上の例だと、
a.a.
.
のようになると思ったのですが、どういう仕組みで実行例のようになるのかと思い質問させていただきました。
どなたかご教授お願い致します。
  • C

    5366 questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る