已知int a,b;double c;,则以下语句中错误的函数调用是A.scanf("%d,%x,%lf",&a,&b,&c); B.scanf("%d,%d,%le",&a,&b,&c);C.scanf("%o,%x,%o",&a,&b,&c); D.scanf("%d,%o,%e",&a,&b,&c);
- Ascanf("%d,%x,%lf",&a,&b,&c);
- Bscanf("%d,%d,%le",&a,&b,&c);
- Cscanf("%o,%x,%o",&a,&b,&c);
- Dscanf("%d,%o,%e",&a,&b,&c);
参考解析:本题主要考查格式输入函数scanf。此函数一般的输入形式是scanf(格式控制,地址表列);。函数“格式控制”的含义同printf函数,以%开始,以一个格式字符结束,中间可以插入附加的字符。常用的格式字符主要有:d:用来输入有符号的十进制整数。u:用来输入无符号的十进制整数。o:用来输入无符号的八进制整数。x:用来输入无符号的十六进制整数(大小写作用相同)。c:用来输入单个字符,包括回车键。s:用来输入字符串,将字符串送到一个字符数组中,在输入时以非空格字符开始,以第一个空格字符结束。字符串以串结束标志’\0’作为其最后一个字符。f:用来以小数形式输入实数(包括浮点型和双精度型)。e:用来以指数形式输入实数。scanf的附加格式说明字符:L、l:用于输入长整型数据(可用%ld,%lo,%lx)及double型数据(用%lf)。h:用于输入短整型数据(可用%hd,%ho,%hx)。域宽:指定输入数据所占宽度(列数),域宽应为正整数。*:%后的“*”附加说明符用来表示跳过它相应的数据。在本题中,由于变量a和b是整型变量,而c是双精度类型。很显然,选项C中的描述不正确,它用%o输出实数。
分类:其他