1.scanf函数是什么?
scanf函数是C语言中的输入函数。
2.scanf函数的作用是什么?
1.官方答案:scanf函数用于从标准输入设备(通常是指键盘)读取数据并储存到变量中。根据指定的格式字符串读取输入的数据,并将数据存储到提供的变量中。
2.简化概括:通过键盘给程序中的变量赋值,而这个过程需要使用到scanf函数。
3.要怎么去理解scanf函数?
1.首先我们要知道,我们从键盘输入到程序里的全部都是字符,例如我们输入“123”,它表示的并不是数字的123,而是字符形式的‘1’ ‘2’ ‘3’,此时操作系统在接收键盘数据时都将它当成字符来接收的。因此要想让它转化成数字形式,就必须使用到scanf函数。
scanf函数的基本形式:scanf(“输入控制符”,输入参数);
代码例子:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
scanf("%d",&i);
printf("i = %d\n",i);
return 0;
}
2.要将字符形式转化为数字形式,此时需要“输入控制符”,也就是%d。这个%d会将键盘输入的这些合法字符转化成一个十进制的数字。经过转化之后,就能将字符形式转化为数字形式。
3.此时我们虽然已经完成了形式的转化,但这些数据还没有存放的地方,上述例子中我想把这些数据放到变量i中,这时涉及到了另一个东西叫“取地址运算符”,也就是&, &后面的i叫做变量名,整个&i表示的就是“该变量的地址”,我们将&i叫做“取地址i”。要注意,我们存入数据是要存入变量的地址中去的,因此这里的&i就是将数据存入到 以变量i为地址的变量中(也就是变量i中)
4.因此综上所述,我要输入123,scanf函数先是通过输入控制符%d将字符类型转化为数字类型,然后通过取地址i也就是&i来将这些数据存入到变量i中,最后通过printf来打印出数字的123。
5.值得注意,在vs中使用scanf函数时,常常会报错,这是因为vs认为使用scanf函数是不安全的,为了解决这样的问题,我们通常要代码头部添加 #define _CRT_SECURE_NO_WARNINGS 1