C语言中scanf()和缓冲区

scanf()函数定义:

if (缓冲区为空)

调阻塞函数;

调赋值函数;

执行下面的代码:

for (i = 0;i < 10;i++)

{

scanf("%c",&ch);

printf("%c",ch);

}

代码执行过程:

1、调用第一个scanf()后,缓冲区为空,调用阻塞;

2、例如输入abcd(回车符)到缓冲区(回车符表示结束阻塞);

3、调赋值,将ch = a;并清除缓冲区的a值,将b作为缓冲区第一个值。然后结束第一个scanf();

4、调第一个printf();打印出a

5、调第二个scanf()后,检查到缓冲区不为空,调赋值。将ch = b;结束第二个scanf()

6、调第二个printf();打印出b

......



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值