![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
一个简单的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,为什么呢?它为什么要有空格?空格数量的原则是什么啊?希望能讲的稍微详细点儿,谢谢啦! 展开
A 2.0凵%凵4.0凵#<CR> B 2.0%4.0凵#<CR> C 2%凵凵4#<CR> D 2凵%凵4凵#<CR>
答案是C,为什么呢?它为什么要有空格?空格数量的原则是什么啊?希望能讲的稍微详细点儿,谢谢啦! 展开
1个回答
展开全部
在输入字符前,不能有其他空白字符(那也是有效的字符)
在输入数值前(%d %f)可以有任意多个空白字符,如空格 回车 TAB
输入数值时,遇到第一个非数字字符,则结束数值输入(浮点数据中,小数点除外)
按以上原则,
A 2.0后有空格,不对,导致c1读到的是空格
B 同理,4.0后空格导致c2错
D 同理,2后的空格导致后续读数据错位
C 没有问题!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询