题目
【单选题】有输入语句: scanf("a=%d,b=%d,c=%d",a,b,c) ;为使变量 a 的值为 1 , b 的值为 3 , c 的值为 2 ,则正确的数据输入方式是()。A. 132B. 1,3,2C. a=1 b=3 c=2D. a=1,b=3,c=2
【单选题】有输入语句: scanf("a=%d,b=%d,c=%d",a,b,c) ;为使变量 a 的值为 1 , b 的值为 3 , c 的值为 2 ,则正确的数据输入方式是()。
A. 132
B. 1,3,2
C. a=1 b=3 c=2
D. a=1,b=3,c=2
题目解答
答案
D. a=1,b=3,c=2
解析
本题考查scanf函数的格式化输入规则。关键在于理解格式字符串中的控制符必须与输入严格匹配。当格式字符串中包含特定字符(如a=、逗号,)时,输入时必须严格按照该格式提供对应内容,否则会导致读取错误。
核心思路
- scanf函数要求输入严格匹配格式字符串。例如,格式字符串
a=%d,b=%d,c=%d中,a=、b=、c=以及逗号,都是必须输入的固定部分,变量值需紧跟在=号后,且用逗号分隔。
选项分析
-
选项D:
a=1,b=3,c=2
完全符合格式字符串要求,a=、b=、c=前缀和逗号分隔均正确,能确保scanf正确读取a=1、b=3、c=2。 -
其他选项错误原因:
- 选项A:
132
缺少a=、b=、c=前缀和逗号分隔,无法区分变量对应关系。 - 选项B:
1,3,2
虽有逗号分隔,但缺少a=、b=、c=前缀,scanf无法确定变量对应顺序。 - 选项C:
a=1 b=3 c=2
使用空格分隔b=和c=,但格式字符串要求用逗号分隔,导致读取失败。
- 选项A: