今天闲来无事,写个小程序试试scanf的特性,发现:
scanf函数在接受输入的时候是分类型的:
当接受的是字符型的时候即%c,这时他会接受回车符;
当接受的是数值型(如整形,浮点型)的数据的时候,他不会接受回车符。
如下代码:
/*************************************************************************
> File Name: test.c
> Author: Baniel Gao
> Mail: createchance@163.com
> Blog: blog.youkuaiyun.com/createchance
> Created Time: Tue 17 Dec 2013 18:47:52 CST
************************************************************************/
#include <stdio.h>
int main(void)
{
char a,b;
int c,d;
double e,f;
scanf("%c%c",&a,&b);
printf("%d %d\n",a,b);
scanf("%d%d",&c,&d);
printf("%d %d\n",c,d);
scanf("%lf%lf",&e,&f);
printf("%f %f\n",e,f);
return 0;
}
<CR>表示回车
root@ubuntu:/home/linux/Data_structure# ./a.out
1<CR>
49 10
1<CR>
2<CR>
1 2
1.1<CR>
2.2<CR>
1.100000 2.200000
root@ubuntu:/home/linux/Data_structure#