接收用户输入-scanf函数

本文详细介绍了scanf函数的作用、语法、特点以及注意事项。包括如何接收用户输入数据,使用不同类型的占位符来匹配输入类型,以及在使用时可能遇到的问题和解决策略。通过实例演示,帮助开发者更熟练地掌握scanf函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.scanf的作用: 
在程序运行到scanf的时候,接收用户输入的一些数据,并存储在变量之中

2.scanf的语法:
scanf("格式控制字符串",变量地址列表);
语义:格式控制字符串里写占位符,占位符用来接收用户输入1个什么类型的数据,后面写变量的 地址,使用&符号可以取到变量的地址,代表将用户输入的对应的数据存到这个变量里。
如:
int num;
scanf("%d",&num);

3.scanf的特点:
阻塞式函数:即运行到scanf时,除非用户输入完数据,否则会一直停在scanf处等待用户输入

4.scanf函数中的占位符:
代表的意义: 要求用户输入1个什么类型的数据. 所以后面给的变量的地址的那个变量的类型要和格式控制符保持一致.
%d:代表占用一个放int类型(整数)的位置 
%ld:代表占用一个放long类型的位置
%c:代表占用一个放char类型(字符)的位置
%f:代表占用一个放float类型的位置
%lf:代表占用一个放double类型的位置
%u :代表占用一个unsigned int类型的数据
%lu:代表占用一个unsigned long类型的数据

5.写完scanf一定要注意后面接变量地址,并且接同类型的变量地址,否则取到的东西会很异常




scanf需要注意的地方

1、如果scanf函数格式里要求输入的是数(整型、浮点型),那么不管你敲入多少个空格和回车 都会被忽略掉,不会存入到变量中,除非真正输入了数字再按回车,才会存入变量


2、如果scanf函数格式里要求输入的是字符(%c),那么你输入的空格或者回车,都算存入变量


3、如果要接收多个输入,可以写在一起。以空格或者回车代表不同输入


4、最好不要让数字和字符一起输入,否则可能出问题


5、如果一次想接收多个输入,并且想改变分割符(默认是回车或者空格),则可指定相应的分隔 符即可。如下:


scanf运行原理
1). 用户从控制台输入的数据是先存储在1个叫做缓冲区地方
2). 当scanf函数准备为变量赋值的时候.先看看缓冲区中有没有数据
如果缓冲区中没有合适的数据 才会暂停程序让用户从控制台输入 
如果缓冲区中有合适的数据 直接将缓存区中的数据拿出来赋值给变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值