C语言 scanf()用法 代码解读

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 键盘输入“1空格2空格3abc”,a1赋值为1,a2赋值为2,a3赋值为3,虽然输入的3abc,但是a3是int整型变量,只能读入3,abc留在缓冲区里
  2. 执行//输入1 后,//输入2 读取缓冲区,将abc分别赋值给c1、c2、c3
  3. 执行//输出2
  4. 执行//输入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
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值