问题
单项选择题
设有定义:int a; float b; ,执行scanf("%2d%f", &a, &b); 语句时,若从键盘输入876 543.0<回车>,a和b的值分别是( )。
A) 876和543.000000
B) 87和6.000000
C) 87和543.000000
D) 76和543.000000
答案
参考答案:B
解析: 本题考查了格式输入函数scanf()的运用。scanf()函数的一般形式为:scanf格式控制,地址表列)。其中,“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:
①格式说明,由“%”和格式字符组成;
②普通字符,即需要原样输入的字符。
“地址表列”是需要接收输入数据的一系列变量的地址。本题中的“格式控制”是“%2d%f”,其中%2d的意思是要输入一个整数,但该整数最宽只占2个字符,而%f是要输入一个浮点数。而题目要求输入的是876543.0,所以scanf()函数将87赋给a,6赋给b。