使用scanf输入数据
scanf的输入过程
键盘输入后,遇到回车符后,会进入输入缓冲区(回车符也一起进入),然后从缓冲区逐一读取。
%d,%f,%lf以“空白字符”为间隔,%c 没有间隔,逐字符读取。
&为取地址符号,&c表示变量c的地址。
1.char变量的输入
int c;
scanf("%c",&c); //输入100,实际只读了字符1.
printf("%c\n",c); //输出1.
printf("%d\n",c); //输出49,字符1的ASCII码值为49.
如果用%d去输入char变量,就错了。整数占四个字节,char只有一个字节。
2.int变量的输入
int a;
scanf("%d",&a); //输入100.
printf(“a = %d\n”,a); //输出a = 100.
scanf("%d",&a); //输入a,不是整数,输入失败!保持原值。
printf(“a = %d\n”,a); //输出a = 100.
3.float型和double型
float输入用%f,输出也是%f。
double输入必须用%lf,输出的话,%f和%lf都行。
关于char类型的输入输出
- getchar 和putchar,用法简单,getchar有时被用来当成停顿,即getchar(),没有接受,会停顿一下。
- getc与putc在后面有()括号里要加个stdin/stdout,表示"标准输入设备",“标准输出设备”,默认是键盘。
- char c; c = getc(stdin);
- char c = “b” ; putc(c,stdout);