视频中老师讲了很多scanf函数不按一般套路写的情况,讲混合输入其实只是作为讲解scanf缓存的引子,但是没讲真的按控制格式混合输入的话是什么结果。然后自己试了下(就我一个人的话,绝对不会开混合输入这种脑洞的....),代码如下:- #include <stdio.h>
- int main()
- { int a=0,b=0,c=0;
- char ch='a';
- float f=1.2; //数字后不写 f 系统也会当做是float型
- scanf("%d%c%d%f%d",&a,&ch,&b,&f,&c);
- printf("%d,%c,%d,%f,%d\n",a,ch,b,f,c);
- return 0;
- }
复制代码
测试输入:
45g93.65
7
输出结果是:45,g,93,0.650000,7
解释一下,本来想输入的是45--g--9--3.6--5,由于输入控制是要挨着输入的,我就挨着输,完了按回车发现没反应,想了下接着输了个int型的数(7),然后再回车,然后结果就出来了。
这种瞎闹的混合输入也能找到合理的接收方式,觉得写库函数的人好厉害 |
|