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

admin2015-07-28  27

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

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

答案A

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

最新回复(0)