您的位置:首页 > 编程语言 > C语言/C++

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,数据间用空格分开,那么就与规定的格式不符,上例中只有第一个变量能被正确赋值。另外,像换行符、制表符这样的转义字符也可以被用作输入数据间的分隔。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c 语言 终端