1.scanf的作用
就是通过键盘给程序中的变量赋值。
2.scanf的格式
1.scanf("输入控制符",输入参数);
将键盘输入的字符转换成输入控制符的数据类型,然后存入变量之中;
#include <stdio.h>
int main() {
int i;
printf("请输入一个数据:");
scanf("%d",&i);
printf("%d",i);
return 0;
}
运行结果如下
D:\code\C\st04.exe
请输入一个数据:78
78
Process finished with exit code 0
3.弄明白scanf
首先我们知道键盘录入的全部都是字符,比如键盘录入123,录入的数据并不是123,而是单个的字符‘1’,‘2’,‘3’。这时候就是用输入控制符转换时一下的,%d就是将这些转换成一个十进制的数据,经过转换之后就是会形成123,
&是一个取地址值运算符,&后面加地址值就是指的是这个变量的地址值,&i就是取i的地址值,程序就是将键盘输入的数据存储到i这个地址当中, 简而言之就是将录入的数据存储到i记录的这个地址当中。
在这里就是简单的会使用这些就是可以了
但是这时候我就会想如何录入一个字符串呢?
等到后面学习之后再来看看怎样录入字符串
4.scanf的注意事项
1.参数的个数一定要一一对应
来看一行代码
#include <stdio.h>
int main() {
int i;
char c;
scanf("%c %d",&c);
printf("%d %c",i,c);
return 0;
}
运行结果
D:\code\C\st04.exe
45
0 4
Process finished with exit code 0
可以很明显的看到这个时候录入的是45,出来的字符就是4,因为i并没有数据,所以就是在这里找不到数据默认输出的参数是0;
2.输入的数据类型一定要与所需要的数据类型一致
来看代码更加简单明了
#include <stdio.h>
int main() {
int i;
scanf("%d",&i);
printf("%c",i);
return 0;
}
D:\code\C\st04.exe
99
c
Process finished with exit code 0
这时候就是在这里输入的是数字,但是输出的却是C