Función de escaneo 2 de aprendizaje de lenguaje C basada en el desarrollo de iOS

1. scanf 函数:
 
    1). 作用:可以在程序运行的时候,让用户输入一个数据,然后将用户输入的数据赋值给变量;
    2). 语法格式:
        scanf("格式控制符",变量地址列表);    //多个变量格式: scanf("格式控制符格式控制符",变量地址,变量地址);  用户在输入多个数据时,可以使用空格和回车来区分 2 个数据;
    3). 简单实用步骤:
        1. 先声明变量;
        2. 在格式控制符中使用占位符(%d,%f,%lf,%c)来要求用户输入 1 个指定类型的数据;   //想让用户输入什么类型的数据,是根据格式控制符中的占位符决定的;
        3. 在后面写上要将用户输入的数据存储到哪 1 个变量的地址; 使用 & 符号来获取变量的地址
 2. 案例:
     int main(int argc, const char * argv[]) {
    
    
         //声明变量 num
         int num = 0;
         //提示用户输入一个数字
         printf("请输入一个数字:\n");
         //使用占位符要求用户输入数据, & 符号来获取变量地址
         scanf("%d",&num);
         //输出 num 的值
         printf("num = %d\n",num);
         return 0;
     }
 3. 注意:
    1). 如果程序没有输出信息,下方控制台不会自动弹出来;
    2). scanf 函数执行原理:
        1. 他是1个阻塞式函数,当执行到这个函数时候,CPU 的执行就会暂停,不会继续执行;
        2. 会等待用户输入数据,当用户输入数据并按下回车,表示输入完毕;
        3. 这时会将用户输入的数据赋予变量,然后继续执行后面代码;
        4. 函数的格式控制符后不要加\n换行;
        5. 函数后面要写 变量地址,而不是 变量;
        6. 占位符和变量类型要一致;
        7. 如果用户输入的数据跟变量类型不一致会出问题;
        8. 函数初始时要给变量一个默认值;
        9. 用户在输入数据之前,输入的空格/回车/tab 键等都会自动忽略,直到用户输入数据并按回车后处理;
 
 4. 缓冲区:
    1). 让用户输入数据时,并不是直接把这个数据赋值给变量,而是先把数据放在缓冲区,然后在从缓冲区将数据取出,赋值给变量;
    2). 在执行函数时,会先检查缓冲区是否有数据;
        1. 如果缓冲区没有数据,就会让用户输入数据
        2. 如果缓冲区有数据,直接把数据拿出来,不会让用户输入数据;
    3). 如果拿的数据类型为整形或者实型, 空格和回车会被忽略;
        如果拿的数据类型为字符型,任何数据都不会忽略,会当做数据赋值;
    4). 如果想赋值准确数据,就需要缓冲区没有数据,也就是在输入前需要清空缓冲区;
        1. 在 scanf 函数前加入一行代码来清空缓冲区;
        2. 使用 rewind(stdin);  //这个代码的作用就是清空缓冲区,将缓冲区的数据全部清空;

//以上为笔记,下方为代码; 

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    
    //声明变量 num
    int qq = 0,qqPasswd = 0;
    //提示用户输入 QQ 号码
    printf("请输入QQ账号:\n");
    //使用占位符要求用户输入数据, & 符号来获取变量地址
    scanf("%d",&qq);
    //提示用户输入 QQ 密码
    printf("请输入QQ密码:\n");
    rewind(stdin);
    scanf("%d",&qqPasswd);
    //输出 QQ号码和QQ密码的值
    printf("QQ号码是:%d\nQQ密码是:%d\n",qq,qqPasswd);
    return 0;
    
}

Supongo que te gusta

Origin blog.csdn.net/sdfsdfasfddsafwesd/article/details/113249014
Recomendado
Clasificación