一,使用目的
在程序运行的时候,能让用户输入进而操作
二,特点
阻塞线程,在sacnf函数完成之后,才能执行下面的代码
三,使用方法
int num = 0;
printf("请输入你的号码")
scanf("%d",&num);
四,注意事项;
1.scanf不是printf函数,不要在占位符后面加\n
sacnf("%d\n", &num);
2.scanf后面的要写上变量的地址而不是写变量
3.如果之前的程序没有结束,先把之前的进程结束再运行.
4.多个值输入的时候,只能是数(int,float,double),中间不能掺杂char
五,scanf多值输入的特点;
1.scanf有缓冲区,不会将输入的值直接赋值给程序中的变量
当,而是从缓冲区中取出去赋值
2.当缓冲区中有值时,直接取出赋值,不会让用户输入数据
3.如果要拿的数据是数(int.float..)的时候,拿到的空格,tab,回车会自动忽略,自动往下拿
4.如果要拿的数据是字符的时候,不会忽略人格数据
所以我们数字和支付混合输入的时候就可能会出现问题.
解决方案
在输入的时候清空缓冲区, rewind(stdin);