大家好啊,我是小象٩(๑òωó๑)۶
我的博客:Xiao Xiangζั͡ޓއއ
很高兴见到大家,希望能够和大家一起交流学习,共同进步。*
这一节我们主要来学习scanf的基本用法,了解scanf返回值,懂得scanf占位符和赋值忽略符的知识,然后我们还会学习到关于Visual studio环境下scanf不安全解决办法,这个可能是很多新手朋友一开始用vs都会遇到的问题
一、scanf函数
在C语言中,scanf函数是一个非常重要的输入函数,它用于从标准输入(通常是键盘)读取格式化的输入数据。与printf函数类似,scanf也使用格式说明符来指定输入数据的类型和格式。然而,与printf不同的是,scanf需要变量的地址来存储输入的数据。
当我们有了变量,我们需要给变量输入值就可以使用 scanf 函数,如果需要将变量的值输出在屏幕上的时候可以使用 printf 函数,来看一个例子:
#include <stdio.h>
int main()
{
int score = 0;
printf("请输⼊成绩:");
scanf("%d", &score);
printf("成绩是:%d\n", score);
return 0;
}
运行一下:
画图演示:
注:标准输入一般指的就是键盘,标准输出一般指的就是屏幕
那接下来我们介绍下 scanf 函数。
1.1 基本用法
scanf( ) 函数用于读取用户的键盘输入。
程序运行到这个语句时,会停下来,等待用户从键盘输入。
用户输入数据、按下回车键后, scanf() 就会处理用户的输入,将其存入变量。
它的原型定义在头文件 stdio.h 。
scanf() 的语法跟 printf() 类似。
scanf("%d", &i);
它的第一个参数是一个格式字符串,里面会放置占位符(与 printf() 的占位符基本一致),告诉编译器如何解读用户的输入,需要提取的数据是什么类型。
这是因为 C 语言的数据都是有类型的, scanf() 必须提前知道用户输入的数据类型,才能处理数据。
它的其余参数就是存放用户输入的变量,格式字符串里面有多少个占位符,就有多少个变量。
上面例子中, scanf() 的第一个参数 %d ,表示用户输入的应该是一个整数。 %d 就是一个占位符, % 是占位符的标志, d 表示整数。第二个参数 &i 表示,将用户从键盘输入的整数存入变量i 。
注意:变量前面必须加上 & 运算符(指针变量除外),因为 scanf() 传递的不是值,而是地址, 即将变量 i 的地址指向用户输入的值。
如果这里的变量是指针变量(比如字符串变量),那就不用加 & 运算符。
下⾯是一次将键盘输入读入多个变量的例子。
scanf("%d%d%f%f", &i, &j, &x, &y