设有定义:int a,b;float x,y;,则以下选项中对语句所做的注释叙述错误的是( )。

admin2018-01-14  59

问题 设有定义:int a,b;float x,y;,则以下选项中对语句所做的注释叙述错误的是(    )。

选项 A、scanf("%d%d",&a,&b,&x);/*多余的输入项不能获得输入数据*/
B、scanf("%d%d%f",&a,&b);/*多余的格式符%f完全不起作用*/
C、scanf("%d%f%d",&a,&b,&x);/*输入项与格式符类型不匹配,变量b和x得不到正确的输入数据*/
D、scanf("Input:%d%d",&a,&b);/*格式串中允许加入格式符以外的字符串*/

答案B

解析 考查scanf函数的格式输入,“格式控制串”中允许有非格式字符,只不过输入时也要输入该非格式字符,选项D正确。输入的数据与输出类型不一致时,编译依然能通过,只不过输出结果有可能不正确,选项C正确。输入多个数据时,系统等待接收的数据个数与“格式控制串”中的格式控制符的个数一致,然后把接收的数据依次赋值给后面的变量,若变量个数多于格式控制符个数,则多余的变量不获取数据,若少于,系统会在接收完额定数目的数据之后报错,答案选B。
转载请注明原文地址:https://kaotiyun.com/show/7Hxp777K
0

最新回复(0)