(1)scanf(格式控制,地址列表);
表示按格式控制参数的要求将数据从终端传送到地址列表所指定的内存空间。第一部分是格式控制,可以使用的格式字符与printf()一样,格式字符和地址列表中对应的变量是一一对应的,并控制该地址对应的变量的类型;第二部分是对应变量的内存地址,是一个地址列表。
例如:读取三个输入的整数并存储到a,b,c三个整型变量中
scanf("%d%d%d",&a,&b,&c);
当使用scanf( )函数输入多个数据时,需要判断一个数据的输入是否结束有以下几种方法:
- 用格式字符来控制输入数据的域宽(正整数)。
- 由于格式字符串中出现的普通字符(包括转义字符)都需要原样输出,因此可以在scanf( )的格式控制字符串里插入能起到数据分隔作用的一般字符,这样用户输入时,就必须按照格式控制字符串来输入。
例如:scanf(" a=%d,b=%c,&a,&b");
输入时必须输入a=1,b=2 Enter
注意:系统并不把scanf( )函数中格式字符串内的转义字符(如\n)看作转义字符,而是看作普通字符原样输入。
如果数据本身就可将数据分开,输入数据不需要用分隔符,在遇到非法输入时系统也会认为该数据输入结束。例如输入数值时遇到字母等非数值