C语言中的scanf函数

本文介绍了C语言中scanf函数的使用,包括读取数值、字符串时如何处理空白字符,以及读取失败的情况。scanf函数在读取数据时会自动忽略前导空白,对于%d格式会跳过空白字符,%s格式在遇到空格时停止读取,%c格式则会读取包括空格在内的所有字符。此外,使用scanf必须传入变量的地址,且在空白符结尾时需要额外输入一个数。

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

 我们从键盘输入的数会先去缓冲区,scanf先读取缓冲区然后再给变量赋值

1、在读数值型数据或字符串时,scanf函数会从第一个非空白字符(空白字符指:回车,空格,TAB键)开始读取,自动忽略前面的空白字符,而遇到空白字符结束该类型数据的输入

①如果数据不符合输入格式,则scanf函数会读取失败,不再寻找输入缓冲区中后面的数据,不再等待用户输入新的数据,即该scanf()函数调用结束,但不符合格式的数据依然保留在缓冲区中

②scanf函数在以%d形式读取数据时,会跳过空格,换行,Tab这些空白字符,用户在输入数值时,在两个数据之间可以用一个或多个空格、tab键、回车键分隔,遇到不符合要求的数据时,会读取失败

#inclue <stdio.h>

int main()
{
	int a, b, c,d;
	scanf("%d%d%d%d", &a, &b, &c,&d);
	printf("%d,%d,%d,%d\n", a, b, 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值