scanf和printf的用法

本文详细介绍了C语言中的scanf函数用于读取用户输入,包括数字、字符和字符串的读取规则,以及printf函数的打印输出功能,包括格式控制符、位数限制和返回值。

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

一、scanf

1、scanf的基本用法:

scanf函数是用于读取用户输入的(键盘输入到运行后框框里的数据)

int   n;

scanf(“%d”,&n);

以上就是scanf用法的展示,由格式控制符(%d,%c,%u.....)和要输入数据的地址组成,格式控制符要和数据的类型一一对应,不然则会报错。我们也可以发现scanf函数的参数总是要比输入值得个数多一个,注意scanf函数也是有返回值的,返回值为成功读取数据的个数,如

8f916f7814aa43f081ed743f715e51dc.png

这里我们可以看到成功读取了两个数字,所以ret的值为2

69fdd5c5d25e41ddbaea8fab725d2964.png

这里没有成功读取,所以ret的值为0

ec0504c5b8454fd989772bb8c68ddd74.png

这里成功读取了一个数,所以ret为1

如果scanf在成功读取完数据之前提前终止(Ctrl+z)或者读取到了文件末尾则会返回EOF(-1)如

d803e7f06f6f4f97b06d9e8d853fcc12.png

2、scnaf中各种格式控制符的读取规则

%d:读取数字

使用%d读取字符时会跳过空白字符(空格、换行符、制表符等),只会读取数字,遇到非数字则会直接停止读取

6d638d5466094dd9a2168aacc2025dc1.png

 

%c:读取字符

使用%c读取字符时都会读取,包括空白字符,注意:在我们键盘上换行实际上是输入了一个‘\n’,会被%c读取

e6fc55b40cf84e2e998c11bf07573a53.png

999666a58a1945aca3f5266cc77f241f.png

从上面可见m读取了空格

 

%s:读取字符串

%s在读取字符串时会从第一个非空白字符开始读取,遇到空白字符停下来,同时我们也可以在%s之间加上数字来限定读取字符的个数,如%10s,这就意味着最多读取10个字符

4d6fdb4e2fbd49a9b78c2ba3408b2ae6.png

 

二、printf

1、printf的基本用法

printf是一个打印输出函数,将想要的东西打印到控制屏幕上,如

64a7f399a71b480db56aed8cd0aab748.png

printf和scanf一样也有格式控制符(%c%s%d等等)printf内还可以加一些转义字符,如'\n'、'\t'、'\b'等等,格式控制符和后面的参数也要一一对应,

2、printf中限制的最小位数

printf(“%5d”,123),这个代码意味着所打印的数最小为5位,不足的话用空格填充,这种写法是右对齐,不足空格填充在左边,printf(“%-5d”,123),这种写法是左对齐,不足空格填充在右边

743b3e5250aa4a6ea30fb8ba167423f8.png

如果所要打印的数字长度大于你限制的长度,则会正常打印

47e6f65c13ca42198e1a4b6178b4887d.png

printf(%5.2f,42.2312)表示整个数字长度为5,小数点后保留两位,注意:小数点也算一个长度

cd69197a1ccd45e6914257de1e133703.png

其他格式控制符类似,可以自己去尝试一下

注意:“abcdef”的字符数为7,展开来就是abcdef\n。

3、printf的返回值

printf的返回值为为你所要打印的数字和字符长度之和

674fa3c4097e4f7d825921d7c02713d9.png

这里就是123三个数字加上‘\n’一个字符,和为4

d799530e9e8846b3bcec01b8288c8495.png

这里又加上了一个字符‘\t’,所以为5

以下为各种格式控制符可以了解一下:

a7b41d4d6a7146cc8a8451efc2eb5ce1.png

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值