C语言getchar在scanf循环里是怎么读取的
C语言getchar在scanf循环里是怎么读取的
日期:2016-06-26 00:47:32 人气:1
getchar 和 scanf 都是到 输入流缓冲区去 读取 东西,读了多少,文件指针就被搬动了多少。
getchar 一次读1个字符,(空格,tab, LF 等字符也会读入),
scanf 按 格式 读数据,但会跳过 空格,tab, LF 等 空白。
你的程序先做 scanf("%d",&n),读错,不搬动文件指针,返回 0,满足循环条件,进循环体。
于是 a123 全由
while((ch=getchar())!='\n') putchar(ch);