C语言—scanf函数的详解(上)

     

目录

     

   一:基本用法

   二:语法与格式

    三:怎么输入多个变量?

      四:scanf()会忽略什么字符?


引言:在本文会详细介绍scanf的用法、格式。也会举例子说明我们怎么在scanf输入多个变量,带大家一起探索scanf会忽略什么字符!!!

   一:基本用法

1.  scanf()函数用于读取用户的键盘输入。即用户输入数据后按下回车键,scanf()就会自动处理。
 2. 开头有#include <stdio.h>头文件

   二:语法与格式

 1.语法:和printf类似,可以参考我上一篇博客。
   2. 格式: scanf("%d",&i); 
     scanf() 的第⼀个参数 %d ,表⽰⽤户输⼊的应该是⼀个整数。

    第⼆个参数 &i 表⽰,将⽤户从键盘输⼊的整数存⼊变量i。

注意:变量前加上 & (指针变量除外),因为 scanf() 传递的是地址, 即将变量 i 的地址指向用户
输入的值。
如果这⾥的变量是指针变量(比如字符串变量),那就不用加 & 运算符。

    三:怎么输入多个变量?

scanf() 处理数值占位符时,会 自动过滤空白字符,包括空格、制表符、换行符 等。
接下来举个例子:
#include <stdio.h>

int main()
{
  int a = 0;
  float f = 0;
   scanf("%d %f",&a,&f);
   printf("%d %f\n",d,f);
   return 0;
}

//输入数据5       3.4然后回车键,就会输出5 3.400000(例子中是%d %f,两者之间是一个空

格。)

      四:scanf()会忽略什么字符?

  1:  scanf() 读取用户输入时, %d   %f %lf  %Lf  %s  %[] 会忽略起首的空格。
%c 不忽略空白字符, 总是返回当前第⼀个字符,无论该字符是否为空格。
如果要强制跳过字符前的空白字符,可以写成 scanf("  %c", &ch) ,即 %c 前加上一个空格,表
示跳过零个或多个空白字符。
  
举个例子:
#include <stdio.h>

int main()
{
 
    int x;
   float y;
 
 // ⽤⼾输⼊ " -13.45e12# 0"
    scanf("%d", &x);
    printf("%d\n", x);
    scanf("%f", &y);
    printf("%f\n", y);
  return 0;
}

或者其他简便写法:

#include <stdio.h>
int main()
{
 int x;
 float y;
 
 // ⽤⼾输⼊ " -13.45e12# 0"
   scanf("%d%f", &x,&y);
   printf("%d%f\n", x,y);
   return 0;
 }

// %d 占位符会从 - 处开始获取数据,读 取到 -13 停下来,因为后面的 . 不属于整数的有效字符。这就是说,占位符 %d 会读到 -13

//%f 会读取到 .45e12 ,这是采用科学计数法的浮点数格式。后面的 # 不属于浮点数的有效字符,所以会停在这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值