A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

视频中老师讲了很多scanf函数不按一般套路写的情况,讲混合输入其实只是作为讲解scanf缓存的引子,但是没讲真的按控制格式混合输入的话是什么结果。然后自己试了下(就我一个人的话,绝对不会开混合输入这种脑洞的....),代码如下:
  1. #include <stdio.h>
  2. int main()
  3. {    int a=0,b=0,c=0;
  4.      char ch='a';
  5.      float f=1.2;         //数字后不写 f 系统也会当做是float型
  6.      scanf("%d%c%d%f%d",&a,&ch,&b,&f,&c);
  7.      printf("%d,%c,%d,%f,%d\n",a,ch,b,f,c);
  8. return 0;
  9. }
复制代码

测试输入:
45g93.65
7
输出结果是:45,g,93,0.650000,7
解释一下,本来想输入的是45--g--9--3.6--5,由于输入控制是要挨着输入的,我就挨着输,完了按回车发现没反应,想了下接着输了个int型的数(7),然后再回车,然后结果就出来了。
这种瞎闹的混合输入也能找到合理的接收方式,觉得写库函数的人好厉害

6 个回复

倒序浏览
是不是那个%?和%?中间要加个什么东西会好一点
回复 使用道具 举报
不明觉厉
回复 使用道具 举报
好样的 一齐努力啊
回复 使用道具 举报
谁在放荡 来自手机 中级黑马 2015-11-11 19:58:58
报纸
还是加逗号好点
回复 使用道具 举报
不明觉厉
回复 使用道具 举报
原样输出.....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马