哪位高人帮忙解决一下啊

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:22:11
若变量已正确说明为float型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是
A10回车22回车33回车
B10.0,22.0,33.0回车
C10.0回车22.0空格33.0回车
D10空格22回车33回车

选B
逗号属于非格式字符;scanf(“%f%f%f”,&a,&b,&c);在这里并没有输入逗号非格式符“,” 如果把“,”输入,编译系统会认为你是把这个逗号赋予b,而b明明是float型,就会在输出时出现错误了,而输出的数应该就是“,”存放的地址。
C编译中,如果scanf中没有非格式字符做间隔的话(有的话在输入数据时候也要把非格式字符输入进去,是规定,没有为什么的),可以用tab,空格,回车做间隔,表示一个数据结束。A,C,D正是用了这样的间隔。
而其他答案,你的迷惑可能是在其他答案为什么输入的是整型数也可以的呢。这是因为,此题中的整型数和浮点数的值是一样的。所以说这样子的赋值是可行的。

B,不能用逗号分隔要输入的几个变量的值。只能是空格或回车。