无差别攻击无差别攻击09-19 10:25

scanf 函数缓冲区

1当使用scanf函数接受用户数据时,输入的数据不会直接赋值给变量,而是首先将输入的数据存入缓冲区,输入的全部数据都会储存在缓冲区中包括 空格 TAB 回车

2当执行scanf函数时会先检查缓冲区中是否有数据,如果有则直接从缓冲区取出数据赋值给变量,不会让用户输入数据,如果没有才会让用户从控制台输入数据

3 当从缓冲区拿到数据的时候,如果要拿的数据是一个整数或者浮点数,这时从缓冲区得到的数据是 空格 TAB 回车 回自动跳过搜索下一个数据

4如果scanf从冲缓存去中要拿字符数据,不会忽略任何缓冲区中的数据

5清空缓冲区的数据: rewind(stdin);

程序之家二维码

000
评论