C语言之数据的输入输出scanf()函数
2011-07-08 17:55
330 查看
格式化输入函数scanf( )的功能是从键盘上输入数据, 所获得的数据按指定输入格式被赋给对应的输入项。 函数的一般形式为:scanf("控制字符串", 输入项列表)
其中控制字符串规定的输入格式, 必须用双引号括起,其内容是由格式说明和普通字符两部分组成。输入想列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号”,“分隔。 scanf() 函数输入项列表中各变量要加取地址操作符,就是变量名前加"&",只有这样函数才能改变其值。输入类型与变量类型应尽量一致,以避免类型不匹配而造成的错误。 控制字符串由两部分组成——格式说明和普通字符。格式说明规定了输入项中的变量以和中类型的数据格式被输入,形式是:%<修饰符>格式字符
修饰符是可选的,可用表示输入字段宽度、约定整数是短整型还是长整型、是否屏蔽输入的数据。格式符有以约定输入数据的数据类型。 如果需要输入一个十进制长整型数据,且规定字段宽度为9位有效数字,可用下面的代码完成:long a; // 声明一个长整型变量
scanf("%9ld", &a); // 输入一个字段宽度为9位有效数字的十进制长整型数据,保存在a中
程序运行时,会要求在终端上输入数据,输入后按Enter键,程序继续运行。假如输入的数据是 123456789,那么前9位数字将作为有效的输入,变量a保存的数值为123456789 。在需要屏蔽输入的某个数据时,可使用修饰符”*“ ,如下列源代码所示:char c1, c2, c3; //声明三个字符型变量
scanf("%c%*c%c", &c1, &c2, &c3); //输入三个字符型数据,分别保存在变量c1、c2、c3中,但
c2对应的输入数据被屏蔽
当输入的数据为abc时,变量c1中保存的字符型数据为a,变量c3保存的数据为c,变量c2没有保存任何数据,仍然是未赋值状态。 控制字符串的普通字符主要是用作多个数据间的分隔,或者表示某种特定的输入格式。例如,通常用空格或者逗号来表示多个数据之间的分隔,如下列源代码所示: int a, b, c; //声明3个整型变量
scanf(”%d,%d,%d", &a, &b, &c); // 输入三个整型数据,分别保存在变量a、b、c中
控制字符串中,三个输入格式说明被用逗号隔开,所以如果要为变量正确赋值,输入时必须遵循这种格式,如输入12,15,18 。假如输入的数据是12 15 18,数据间用空格分开,那么就与规定的格式不符,上例中只有第一个变量能被正确赋值。另外,像换行符、制表符这样的转义字符也可以被用作输入数据间的分隔。
其中控制字符串规定的输入格式, 必须用双引号括起,其内容是由格式说明和普通字符两部分组成。输入想列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号”,“分隔。 scanf() 函数输入项列表中各变量要加取地址操作符,就是变量名前加"&",只有这样函数才能改变其值。输入类型与变量类型应尽量一致,以避免类型不匹配而造成的错误。 控制字符串由两部分组成——格式说明和普通字符。格式说明规定了输入项中的变量以和中类型的数据格式被输入,形式是:%<修饰符>格式字符
修饰符是可选的,可用表示输入字段宽度、约定整数是短整型还是长整型、是否屏蔽输入的数据。格式符有以约定输入数据的数据类型。 如果需要输入一个十进制长整型数据,且规定字段宽度为9位有效数字,可用下面的代码完成:long a; // 声明一个长整型变量
scanf("%9ld", &a); // 输入一个字段宽度为9位有效数字的十进制长整型数据,保存在a中
程序运行时,会要求在终端上输入数据,输入后按Enter键,程序继续运行。假如输入的数据是 123456789,那么前9位数字将作为有效的输入,变量a保存的数值为123456789 。在需要屏蔽输入的某个数据时,可使用修饰符”*“ ,如下列源代码所示:char c1, c2, c3; //声明三个字符型变量
scanf("%c%*c%c", &c1, &c2, &c3); //输入三个字符型数据,分别保存在变量c1、c2、c3中,但
c2对应的输入数据被屏蔽
当输入的数据为abc时,变量c1中保存的字符型数据为a,变量c3保存的数据为c,变量c2没有保存任何数据,仍然是未赋值状态。 控制字符串的普通字符主要是用作多个数据间的分隔,或者表示某种特定的输入格式。例如,通常用空格或者逗号来表示多个数据之间的分隔,如下列源代码所示: int a, b, c; //声明3个整型变量
scanf(”%d,%d,%d", &a, &b, &c); // 输入三个整型数据,分别保存在变量a、b、c中
控制字符串中,三个输入格式说明被用逗号隔开,所以如果要为变量正确赋值,输入时必须遵循这种格式,如输入12,15,18 。假如输入的数据是12 15 18,数据间用空格分开,那么就与规定的格式不符,上例中只有第一个变量能被正确赋值。另外,像换行符、制表符这样的转义字符也可以被用作输入数据间的分隔。
相关文章推荐
- c语言:用scanf函数输入数据,举例并分析错误原因
- C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()
- C语言中的输入输出函数详解与比较scanf,sscanf,printf,sprintf,fprintf
- c语言输入输出函数printf与scanf
- c语言输入输出函数printf与scanf的用法格式
- C语言:数据类型、存储区字节数、占位符、sizeof、输入输出、二进制相关、操作符(++,--)、主函数参数
- C语言使用scanf函数获取数据后,使用getchar()无法获得字符的处理方法
- c语言:用scanf函数输入数据,举例并分析错误原因
- c语言中数据的标准输入输出函数
- C语言技巧【枚举作为函数变量类型】【数据输入与输出】【do while循环体内scanf函数被跳过,循环结束】【用const修饰函数的参数】
- C语言中值得深入知识点----数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
- 简谈C语言中的scanf()输入函数的坑点之一
- C语言scanf函数与空格
- C语言创建符号常量的三种方法;printf()和scanf()函数
- C语言fflush()函数:清空文件缓冲区(或标准输入输出缓冲区)
- scanf控制用户输入数据的合法范围_算法_c语言
- C语言 gets()和scanf()函数的区别
- C下如何通过scanf()函数获取正确的数据
- C语言学习笔记(三) 输入输出函数的基本用法以及运算符
- C语言输入输出函数