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

admin2020-10-26  17

问题 设有定义: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

解析 A选项中%f是起作用的,程序从键盘正确的读入前两个数据并且保存在指定的地址,读入第三个数据后,将其放入缓冲区,然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断,A选项注释错误,所以选择A选项。B选项由于scanf接收数据只有两个,所以变量x得不到赋值,注释正确。C选项scanf会按照float类型读取输入的第二个数据并且保存为int类型,由于两种类型的存储形式与所占内存单元均不同,所以b得不到正确的赋值,注释正确。在使用scanf函数时,如果除了格式说明字符和附加格式字符外,还有其他字符,则在输入数据时要求按一一对应的位置原样输入这些字符,故D选项注释正确。
转载请注明原文地址:https://kaotiyun.com/show/Yx3p777K
0

最新回复(0)