一个简单的C语言问题。。。求大神指教一下

若变量已正确定义,要求用语句:scanf("%f%c%f%c",&a,&c1,&b,&c2);给c1赋予字符%,给c1赋予字符%,给c2赋予字符#,给a赋予2.0,给b赋... 若变量已正确定义,要求用语句:scanf("%f%c%f%c",&a,&c1,&b,&c2);给c1赋予字符%,给c1赋予字符%,给c2赋予字符#,给a赋予2.0,给b赋予4.0,则正确的输入形式是
A 2.0凵%凵4.0凵#<CR> B 2.0%4.0凵#<CR> C 2%凵凵4#<CR> D 2凵%凵4凵#<CR>
答案是C,为什么呢?它为什么要有空格?空格数量的原则是什么啊?希望能讲的稍微详细点儿,谢谢啦!
展开
 我来答
kaixingui2012
推荐于2016-01-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
  1.   在输入字符前,不能有其他空白字符(那也是有效的字符)

  2.   在输入数值前(%d %f)可以有任意多个空白字符,如空格  回车  TAB

  3.   输入数值时,遇到第一个非数字字符,则结束数值输入(浮点数据中,小数点除外)

按以上原则,

A 2.0后有空格,不对,导致c1读到的是空格

B 同理,4.0后空格导致c2错

D 同理,2后的空格导致后续读数据错位

C 没有问题!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式