C语言的scanf函数

一、变量的内存分析

(一)字节与地址

①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节)。相邻房间的房号是连续的,相邻字节的地址也是连续的。计算机中通常以十六进制表示地址。

②. 不同类型占用的字节是不一样的,数据越大则占用的字节数越多。如在64位编译器下,int类型占据4个字节,char类型占据1个字节。

(二)变量的存储

重点:内存寻址由大到小,优先分配内存地址较大的字节给变量,所以一般而言越先定义的变量,其内存地址越大。

假设:int a=1;int b=2;下面是对其进行的模拟内存分析。

&是取址运算符,用来获取地址。

%p这个占位符用来输出地址。

未经初始化的变量,它的值是不确定的,而C语言是弱类型的语言,如果不对一个变量进行初始化并不会报错,所以提醒变量在使用之前一定要进行初始化。

二、Scanf函数

(一)基本介绍

Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include<stdio.h>头文件。当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。

(二)使用注意

①. 使用scanf函数输入一个字符变量。Char a; scanf(“%c”,&a);

②. 同时输入多个值。Scanf(“%d,%d”,&num1,num2);

③. Scanf(“%d\n”,&a);//在内部不能使用\n转义字符,否则没完没了。

注意:在这里两个占位符之间是,隔开,则要求在输入时也使用逗号隔开如输入1,2。此时为num1=1,num2=2。若内部为“%d#%d”则输入1#2。若内部为“%dy%d”,则输入1y2。如果中间的字符是空格,则在输入时可以用空格隔开,也可以敲tab键或者是回车键作为分隔符隔开,后两者可以看做是由空格组成的。

时间: 2024-08-30 08:23:54

C语言的scanf函数的相关文章

黑马程序员——C语言的scanf函数

一. 变量的内存分析 1. 字节和地址 1> 内存以“字节为单位”,Oxffc1,Oxffc2,Oxffc3,Oxffc4....都是字节 ,0x表示的是十六进制 2> 不同类型占用的字节是不一样的,数据越大,所需的字节数就越多 2. 变量的存储 1> 所占用字节数跟类型有关,也跟编译器环境有关 2> 变量实例 #include <stdio.h> int main(){   //内存寻址由大到小 int a=10; int b=20;     printf("

【好程序员笔记分享】C语言之scanf函数的基本使用

ios培训------我的c语言笔记,期待与您交流! #include <stdio.h> int main() { // 定义一个变量,用来保存用户输入的整数 int number; // scanf函数只接受变量的地址 // scanf函数是一个阻塞式的函数,等待用户输入 // 用户输入完毕后,就会将用户输入的值赋值给number变量 // 函数调用完毕 scanf("%d", &number); printf("用户输入的值是%d\n",

【学习笔记】【C语言】scanf函数

1. 简介 这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量 2. 简单用法 int age; scanf("%d", &age); scanf函数时,会等待用户的键盘输入,并不会往后执行代码.scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一

C语言-scanf函数补充

关于  scanf函数补充 1>关于"字符"与"整型数"混合输入的 <空格><逗号><回车>都是字符,输入的时候,字符前面不能有这些 2>关于"整型数"和"整型数"混合输入的 两个"整型数"在一块写,:必须要有<空格><逗号><回车>,不然就会被当成一个 例如:1和1,如果没有分割的话,就是11 3>以后项目实战中,全

C语言-scanf函数

1)scanf函数,是一个标准的输入函数 是一个阻塞式的函数:当使用scanf的时候,程序会等待用户输入,如果不输入内容,程序不再往下执行 作用:接收从键盘输的的内容 2)使用格式: 对比printf printf("格式控制字符串",变量列表); scanf("格式控制字符串",变量的“地址”列表) 变量的的地址: 变量的首地址 获得变量首地址的方法:  &变量名 printf("a = %d\n",a); scanf("%d

c语言的scanf函数注意事项

.scanf函数的注意事项 *1.回车可以刷新键盘缓冲区的内容 *2.单个字符要用单撇号括起来 *3.   scanf("%d",&b);//如果给b正确输入,那么a的值就是一个换行符. scanf("%c",&a);//如果给b输入一个字符型(不正确输入),那么这个字符型就会赋值给a *4.scanf("%d%d",&a,&b);//对于输入连续的整形或者浮点型数据,可以用空白符起到间隔数据的作用,字符型的话不用

【好程序员笔记分享】C语言之scanf函数的其他用法和注意

ios培训------我的c语言笔记,期待与您交流! #include <stdio.h> int main() { /* 1.输入字符 char myc; scanf("%c", &myc); printf("输入的字符是%c\n", myc); */ /* 2.一次性输入多个数值,并且以某些符号隔开 int num1, num2; scanf("%d#%d", &num1, &num2); printf(&

李洪强漫谈iOS开发[C语言-017]-scanf函数

C语言Scanf函数

C语言的scanf函数 一.变量的内存分析 (一)字节与地址 ①. 内 存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房 号,根据房号可以找到房间(根据地址也可以找到内存中的字节).相邻房间的房号是连续的,相邻字节的地址也是连续的.计算机中通常以十六进制表示地址. ②. 不同类型占用的字节是不一样的,数据越大则占用的字节数越多.如在64位编译器下,int类型占据4个字节,char类型占