天天看点

C语言基础—scanf函数1 摘要2 变量的存储3 scanf函数

1 摘要

本文介绍scanf函数的基本知识。

2 变量的存储

int b = 10;

int a = 20;

内存由大到小寻址,优先分配内存地址较大的字节给变量。b的内存地址比a大

每个变量都有地址:第一个字节的地址就是变量的地址

查看内存地址:

int a;

printf(“a的地址是:%p\n”, &a);

注意:

在变量未经初始化之前,不要尝试使用变量的值

int a;

printf(“a的值是:%d\n”, a);

上面的写法是不建议的

3 scanf函数

这也是在stdio.h中声明的一个函数,因此使用前必须加入#include

3.1 基本用法

int age;

scanf(“%d”, &age);

scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是”%d”,说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址

输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数会将输入的值赋值给age变量

3.2 其它用法

用scanf函数接收3个数值,每个数值之间用中划线-隔开

scanf(“%d-%d-%d”, &a, &b, &c);

3个%d之间是用中划线-隔开的,因此我们在每输入一个整数后都必须加个中划线-,比如这样输入,不然在给变量赋值的时候会出问题

注意:数值之间的分隔符是任意的,不一定要用中划线-,可以是逗号、空格、星号*、井号#等等,甚至是英文字母

// 逗号,

scanf(“%d,%d,%d”, &a, &b, &c); // 输入格式:10,14,20

// 井号#

scanf(“%d#%d#%d”, &a, &b, &c); // 输入格式:10#14#20

// 字母x

scanf(“%dx%dx%d”, &a, &b, &c); // 输入格式:10x14x20

用scanf函数接收3个数值,每个数值之间用空格隔开

scanf(“%d %d %d”, &a, &b, &c);

3个%d之间是用空格隔开的,我们在每输入一个整数后必须输入一个分隔符,分隔符可以是空格、tab、回车

3.3 注意点

scanf的第一个参数中不要包含\n,比如scanf(“%d\n”, &a); 这将导致scanf函数无法结束

继续阅读