scanf():

scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。

 = scan format 格式化扫描,也就是从键盘获得用户输入,和 printf 的功能正好相反

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a = 0, b = 0, c = 0, d = 0;
  5. scanf("%d", &a); //输入整数赋值给变量a 变量前带&
  6. scanf("%d", &b); //输入整数赋值给变量b
  7. printf("a+b=%d\n", a+b); //计算a+b的值并输出  下一行开头
  8. scanf("%d %d", &c, &d); //输入两个整数并分别赋值给c、d
  9. printf("c*d=%d\n", c*d); //计算c*d的值并输出
  10. return 0;
  11. }

 其实 scanf 和 printf 非常相似,只是功能相反罢了:

  1. scanf("%d %d", &a, &b); // 获取用户输入的两个整数,分别赋值给变量 a 和 b
  2. printf("%d %d", a, b); // 将变量 a 和 b 的值在显示器上输出
  3. 它们都有格式控制字符串,都有变量列表。不同的是,scanf 的变量前要带一个&符号。&称为取地址符,也就是获取变量在内存中的地址。

字节(Byte)是最小的可操作单位。为了便于管理,我们给每个字节分配了一个编号,使用该字节时,只要知道编号就可以,就像每个学生都有学号,老师会随机抽取学号来让学生回答问题。字节的编号是有顺序的,从 0 开始,接下来是 1、2、3……

下图是 4G 内存中每个字节的编号(以十六进制表示):


这个编号,就叫做地址(Address)。int a;会在内存中分配四个字节的空间,我们将第一个字节的地址称为变量 a 的地址,也就是&a的值。对于前面讲到的整数、浮点数、字符,都要使用 & 获取它们的地址,scanf 会根据地址把读取到的数据写入内存。

 

posted @ 2023-11-27 15:54  一骥  阅读(43)  评论(5)    收藏  举报