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


    1. 简介

    这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>。调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量

    2. 简单用法

    int age;

    scanf("%d", &age);

    scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一个整数。

    这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址

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

    3. 其他用法

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

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

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

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

    // 逗号,

    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

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

    scanf("%d %d %d", &a, &b, &c);

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

    4. 注意

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

    5.课程代码

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     // 定义一个变量,用来保存用户输入的整数
     6     int number;
     7     
     8     // scanf函数只接受变量的地址
     9     // scanf函数是一个阻塞式的函数,等待用户输入
    10     // 用户输入完毕后,就会将用户输入的值赋值给number变量
    11     // 函数调用完毕
    12     scanf("%d", &number);
    13     
    14     printf("用户输入的值是%d
    ", number);
    15     
    16     return 0;
    17 }
     1 /*
     2  提示用户输入两个整数,计算并且输出两个整数的和
     3 */
     4 
     5 #include <stdio.h>
     6 
     7 int main()
     8 {
     9     // 1.定义2个变量,保存用户输入的整数
    10     int num1, num2;
    11     
    12     // 2.提示用户输入第1个整数
    13     printf("请输入第1个整数:
    ");
    14     
    15     // 3.接收用户输入的第1个整数
    16     scanf("%d", &num1);
    17     
    18     // 4.提示用户输入第2个整数
    19     printf("请输入第2个整数:
    ");
    20     
    21     // 5.接收用户输入的第2个整数
    22     scanf("%d", &num2);
    23     
    24     // 6.计算和,并且输出
    25     int sum = num1 + num2;
    26     printf("%d+%d=%d
    ", num1, num2, sum);
    27     
    28     //printf("num1=%d, num2=%d
    ", num1, num2);
    29     return 0;
    30 }
  • 相关阅读:
    mysql日志查看
    mysql LAST_INSERT_ID详解
    LR监测windows资源一般监测哪几个项?
    如何在 Linux 服务器上部署多个 Tomcat
    微信支付的JAVA SDK存在漏洞,可导致商家服务器被入侵(绕过支付)XML外部实体注入防护
    Eclipse 处理 IOConsole Updater 报错
    Eclipse 处理 Console 打印信息自动删除
    Linux后台运行java的jar包
    MySQL重置主键ID
    Java转义emoji等特殊符号
  • 原文地址:https://www.cnblogs.com/dssf/p/4544637.html
Copyright © 2020-2023  润新知