scanf输入数据
scanf>键盘输入>遇到回车符(回车符也被输入到缓冲区)>输入缓冲区
%d, %f, %lf, 以“空白字符”为间隔
%c 没有间隔,逐字符读取
空白字符有:空格,制表符(\t),回车符
(1)char 变量的输入
scanf("%c",&c); //输入100,实际只读了字符1
printf("%c\n",c); //输出1
printf("%d\n",c); //输出49,字符1的ASCII值就是49
(2)int 变量的输入
int a;
scanf("%d",&a); //输入100
printf("a=%d\n",a);//输出a等于100
scanf("%d,"&a); //输入a不是整数,输入失败!a依旧保持原来的值
printf("a=%d\n",a);//输出a=100
(3)char 变量使用%d输入[ERROR]
char a,b;
scanf("%d",&a); //输入256,按4个字节储存,第2个字节保存到b变量中!
printf("a=%d,b=%d\n",a,b); //输出a=0 b=1
(4)float 变量的输入
scanf("%f",&x); //输入3.14
printf("x=%f",x //输出=3.140000
(5)double变量的输入
scanf("%lf",&x); //输入3.14
printf("x=%f",x); //输出 x=3.140000
printf("x=%lf",x); //输出 x=3.140000
输入double类型变量的值,必须使用lf 而不是f, 否则输入失败。
输出double类型变量的值,则可以使用lf或者f,没有区别。
char数据类型的其他输入输出函数
(1) getchar
charn c;
c=getchar(); //输入一个字符
printf("c=%c\n",c);
(2)putchar
char c='a',
putchar(c); //输出一个字符
(3)getc
char c;
c=gete(stdin); //输入一个字符,stdin表示“标准输入设备”,默认是键盘
printf("c=%c\n",c);
(4)putc
char c='b';
putc(c,stdout); //输出一个字符
putc(name,stdout); //等同于stdout表示标准输出设备
//等同于printf("%c",name);
//等同于putchar(name);
定义变量,用来表示用户名和密码
char name;
int password
//输入用户名和密码
printf("请输入用户名");
scanf("%c",&name);
printf("请输入密码:");
scanf("%d",&password);