scanf的使用方法

一、 scanf的基本使用

1、当我们有了变量,我们需要给变量输⼊值就可以使⽤ scanf 函数,如果需要将变量的值输出在屏幕上
的时候可以使⽤ prinf 函数。
例如:

#include<stdio.h>
int main()
{
int score = 0;
//请输入成绩
scanf(“%d",&score);
//请输出成绩
printf("%d\n",score);
return 0;
{

scanf()用于读取用户的键盘输入,程序运行到这句代码时就会停下来,等待用户从键盘输入信息,用户输入信息后按下回车键,scanf()就会读取用户输入的信息,将其存入变量。
scanf()的原型在头文件stdio.h
scanf()printf()的用法基本相同
例如:

int a = 0;
scanf("%d",&a);

这里的%d也是占位符,&为取地址运算符,scanf() 处理数值占位符时,会⾃动过滤空⽩字符,包括空格、制表符、换⾏符等。

int a = 0;
//用户输入 "     12"
scanf("%d",&a);
printf("%d\n",a);//输出12

scanf()处理用户输入的原理是,用户的输入先放入缓存,等到按下回车键后,按照占位符对缓存类容进行解读。
2、scanf()的返回值
scanf()的返回值有三种情况
(1)scanf()成功读取了几个值,就返回几。

scanf("%d%d%d",&a,&b,&c);//返回值为3

(2)scanf()一个也没有读到,就返回0。
(3)scanf()如果在成功读取数据之前,读取错误或者遇到文件的结尾,就会返回EOF(-1)。
在这里插入图片描述

#include<stdio.h>
int main()
{
int a = 0;
int n = scanf(%d",&a);//输入时按ctrl+z(一次或三次),n为EOF(-1)
printf("%d\n",n);
return 0;
}

3、占位符
sxanf()和printf()占位符的使用相似,但是需要注意的两种情况。
(1)%c不会忽略起首的空白字符,如果需要忽略的话,需要在%c的前面加上空格。

scanf("  %c");

(2)%s从当前第一个非空白字符读取,知道遇到空白字符为止。
(3)scanf()在读取字符串时不会检测字符串是否超出了数组长度,因此,我们可以使用%[m]s来限制字符串读取长度。
例如:

scanf("%3s",&n);//字符串的长度为3

4、赋值忽略符
只要把*放在任何一个占位符%后面,该占位符就不会有返回值,解析后就会被扔掉。

//用户输入2014/12/12
scanf("%d%*c%d%*c%d",&a,&b,&c);
//输出
printf("%d-%d-%d",a,b,c);//输出为2014-12-12

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值