c语言scanf位宽,自学C语言:scanf() (一)

本文详细介绍了C语言中的输入函数scanf,包括其使用方法、原型和示例。讲解了如何通过格式字符串读取不同类型的数据,如整数、浮点数、字符串等,并讨论了空格在匹配输入字段时的作用。同时,提到了%c转换说明的特殊性以及在处理空格时的区别。
摘要由CSDN通过智能技术生成

介绍:

C函数库包含了多个输入函数,scanf()是其中最常用的一个,因为它可以读取各种格式的数据。它是在stdio.h中声明的一个函数,因此使用前必须加入#include。调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并将输入的数据赋值给对应的变量。

原型:

int scanf( const char *format, ... );

用法示例:

734788

5df4f3e78b6e9de5b7030a93805eca43.png

这里从键盘接收一个数存入变量num中。当接收多个数时,可以这样用:

cbdedb911c8cd5de4d27ac30ffaa0eca.png

scanf()函数使用空格(空格、换行和制表符)来决定怎样将输入分成几个字段。它依次把转换说明与字段相匹配,并跳过他们之间的空格。唯一例外的是%c,即使下一个字符是空白字符,它也会读取那个字符。我们很快会再讨论这个主题。

1fe1a77c5401649db5dd8416698fd18b.png 

c1caaa301154765eaa00652f12b3072c.png

scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并保存数据到其它参数. 它和printf()有点类似. format(格式)字符串由控制字符,空白字符和非空白字符组成. 控制字符以一个%符号开始,如下:

控制字符

说明

%c

一个单一的字符

%d

一个十进制整数

%i

一个整数

%e, %f, %g

一个浮点数

%o

一个八进制数

%s

一个字符串

%x

一个十六进制数

%p

一个指针

%n

一个等于读取字符数量的整数

%u

一个无符号整数

%[]

一个字符集

%%

一个精度符号

注意,scanf()函数允许您把普通字符放在格式字符串中。除了空格字符之外的扑通字符一定要与输入字符串准确匹配。例如,如果将逗号放在两个说明符之间:

7047b031d4ff84c09b3f5b0e87ffb1b9.png

如果不按格式输入:

ecd3d317719521e155d5a1c395bc57fd.png

除了%c以外的说明符会自动跳过输入项之前的空格,所以scanf("%d%d",&num,&num1)和scanf("%d %d",&num,&num1)的行为是相同的、对于%c来说,向格式字符串中添加一个空格将导致一些区别。比如scanf("%c",&ch)和scanf(" %c",&ch)之间

734788

734788

baa769fdd891d0954f220f7995581d41.png

c8b8dc31f9cfd61f38a736146e3113c7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值