常用的数据输入\输出函数
scanf("%c",&a) 修改变量的值,传变量的地址
printf(“a=%c”,a)只是使用变量的值,传变量就行
&
1、scanf函数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//scanf等待输入数据
int main()
{
int i;
char c;
scanf("%d", &i);//阻塞函数
printf("i=%d\n", i);//scanf函数中%d忽略空格,\n.
scanf("%c", &c);//这里不会阻塞了,因为缓冲区中有数据,
printf("c=%c\n", c);
}
20
i=20
c=
scanf被调用的时候,我们会在输入20然后回车,这时标准输入缓冲区存入20和\n(回车),但是scanf在读取的时候,只会读取20,然后在缓冲区中删去20,停止循环,缓冲区内还剩下\n。第二个scanf函数发现缓冲区内有字符,会直接读取不会要求我们再次输入。
注意,如果一开始定义的是两个int变量,将第二个scanf中间的%c换成%d,就不会出现上面的问题,因为 scanf%c忽略空格和\n.
2、scanf函数的循环读取
输入多个整数(每次输入都回车)
除了需要用到while循环,还有几个需要注意的点