C语言没有输入输出语句,实现输入输出功能是靠标准输入输出函数的。scanf()是C语言的标准输入函数,printf()是C语言的标准输出函数。
scanf()接收键盘等外部设备的输入后,在空格、回车和换行符处均判断为输入结束标志。
#include <stdio.h>
#include<stdlib.h>
int main(){
double x,y;
char c1,c2,c3;
int a1,a2,a3;
scanf("%d%d%d",&a1,&a2,&a3); //输入1
printf("%d, %d, %d\n",a1,a2,a3); //输出1
scanf("%c%c%c",&c1,&c2,&c3);//输入2
printf("%c%c%c\n",c1,c2,c3); //输出2
scanf("%lf,%lf",&x,&y);//输入3
printf("%lf,%lf\n",x,y); //输出3
}
解读上面的代码:
- //输入1 键盘输入“1空格2空格3abc”,a1赋值为1,a2赋值为2,a3赋值为3,虽然输入的3abc,但是a3是int整型变量,只能读入3,abc留在缓冲区里
- 执行//输入1 后,//输入2 读取缓冲区,将abc分别赋值给c1、c2、c3
- 执行//输出2
- 执行//输入1 这里要注意!double变量的输入输出格式符为“%lf”,float变量的输入输出格式符为“%f”,如果写错,则会出现数据错误的现象(详见下图及代码)。
将//输入3 和 //输出3的第一个“%lf”改为“%f”,输出的数据错误!
#include <stdio.h>
#include<stdlib.h>
int main(){
double x,y;
char c1,c2,c3;
int a1,a2,a3;
scanf("%d%d%d",&a1,&a2,&a3); //输入1
printf("%d, %d, %d\n",a1,a2,a3); //输出1
scanf("%c%c%c",&c1,&c2,&c3);//输入2
printf("%c%c%c\n",c1,c2,c3); //输出2
scanf("%f,%lf",&x,&y);//输入3
printf("%f,%lf\n",x,y); //输出3
}