scanf函数称为格式输入函数,即按照格式字符串的格式,从键盘上把数据输入到指定的变量之中。Scanf函数的调用的一般形式为:
scanf(“格式控制字符串”,输入项地址列表);
虽然都很熟悉,但是时间长了 还是有需要注意的
1. 格式说明符中,可以指定数据的宽度,但不能指定数据的精度。例:
float a; scanf(“%10f”,&a); //正确 scanf(“%10.2f”,&a); //错误
2. long、double类型数据使用的格式符是什么呢?
%ld、 %lf或%le。
下面是一个格式符表格
3.*修饰符在scanf中()的用法:
当把*放在%和说明符字母之间时,它使函数跳过相应的输入项目;
/*用*跳过scanf接收的数字*/ #include<stdio.h> int main(void) { int num; printf("Please enter three number:\n"); scanf("%*d %*d %d",&num); printf("The last number is %d\n",num); return 0; }
Please enter three number: 2014 2015 2016 The last number is 2016
2014 2015 不会被输入,并且num的取值又只能是被输入的第三个整形数据,若只输入一个数据,num默认位0。
4 .
关于scanf()的返回值
scanf() 函数返回成功读入的项目的个数。如果它没有读取任何项目(比如它期望接收一个数字而您却输入的一个非数字字符时就会发生这种情况),scanf()返回0。
当它检测到“文件末尾”(end of file)时,它返回EOF(EOF在是文件stdio.h中的定义好的一个特殊值,一般,#define指令将EOF的值定义为-1)。