C EXERCISE 02 – SCANF函数
SCANF函数
//scanf函数应用总结
#include<stdio.h>
main()
{
float a,b,c,d;
printf("input\"a,b,c,d\"(无通配符):");
scanf("%f%f%f",&a,&b,&c);
printf("%f,%f,%f\n",a,b,c);
scanf("%f",&d);
printf("%f",d);
return 0;
}
/*
1、%d、%f……是啥意思?
d 十进制整数,i 整数(0先导的8进制数和0x、0X先导的16进制数);
o 0先导的8进制数,x 0x、0X先导的16进制数,u 无符号十进制整型数;
f 单精度小数,lf 双精度小数;e 单精度指数,le 双精度指数;
c 字符,s 字符串,直到遇到\0,字符串可以自动突破;
2、指定输入数据的长度(此时输入数据不用间隔符隔开数据,
一般用于连着的一串数字):%2d%3%2
scanf("%2d%3%2",&a,&b,&c);
input:1234567
printf:12 345 67
3、为什么是 &a ?什么是通配符?
间隔符:空格符、制表符、回车键
&代表求地址运算符
数据之间一定要用间隔符隔开
scanf函数引号之间的除格式控制字符之外的其他字符都是通配符,
不会出现在屏幕上,但输入数据时要原封不动的输入通配符,
在相应格式控制字符的相应位置输入数据
4、①输入较少数据时程序会等待
②输入较多数据时,多余的数据不会被清除,而是等待下一个scanf,
但输入数据一般在初始,而不是等到下一个scanf再输入数据
③%*d可以跳过数据:如scanf("%d%*d%d",&a,&b)
input:11 22 33
output:11 33
*/