• C语言输入语句(进阶篇十五)


      ......

      scanf的使用

        程序1

          scanf的细节

    // 15-1scanf的细节
    
    #include <stdio.h>
    #pragma warning(disable:4996);
     main()
    {
         int i1, i2;
         long l1, l2;
         float f1, f2;
         double d1, d2;
    
         printf("请输入:\n");
    
         scanf("%d%d", &i1, &i2);        //键盘输入两个整型变量
         scanf("%ld%ld", &l1, &l2);        //输入两个长整型变量
    
         scanf("%f%f",&f1,&f2);            //输入单精度浮点数型到变量
         scanf("%lf%lf", &d1, &d2);        //输入双精度浮点型到变量
    
         printf("以下是输出:");
         printf("%d\n%d\n", i1, i2);
         printf("%ld\n%ld\n", l1, l2);
         printf("%f\n%f\n", f1, f2);
         printf("%lf\n%lf\n", d1, d2);
    }

        ※可以指定输入数据所占列数,系统自动按要求截取所需数据。如:

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

          若输入:

            5201314(回车)

            系统自动将520赋给a,131赋给b。

        ※与printf不同的是,输入数据时不能规定精度,如:

            scanf(“%7.2f”,&n); /*n为浮点型*/

          若输入:

          123456(回车)

            n的值并不是1234.56,而是乱码。

        ※如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符。如:

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

           输入时应用如下形式:

             3,4

           如果用:

            3(回车)4

          变量b将得不到数据。

        如果是:

          scanf(“%d□□□%d”,&a,&b);       // □  代表空格

         输入时应用如下形式:

          3□□□4

       程序2

        scanf格式输入

    // 15-2scanf的格式输入
    
    #include <stdio.h>
    #pragma warning(disable:4996);
    
    main()
    {
        int i1, i2;
        scanf("%d,%d", &i1, &i2);     //如果两个%d中间加符号,输入端两个数中间也一定要加符号
    
        scanf("i1=%d i2=%d", &i1, &i2); //输入端输入应为:i1=5 i2=8   输出结果为 5   8
        printf("第一个数是:%d\n", i1);
        printf("第二个数是:%d\n", i2);
    }

        ※在输入数据时,遇以下情况时该数据认为结束:

          (1)遇空格,或按“回车”或“跳格”(TAB)键

          (2)按指定的宽度结束,如%3d,只取3列。

          (3)遇非法输入。

          (4)%c只取1列。

        如:

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

        若输入

          12345.26 78

          3个变量的结果:a为12,b为345,c为0.26

        ※在输入long型数据时,格式字符必须是%ld;输入double时,格式字符必须是%lf。否则得不到正确的数据 

  • 相关阅读:
    ORM框架工具产品开发之四 开发代码生成器 Template Studio Development (一)
    信息化基础建设系列文章汇总 .NET 平台业务项目实践
    NodeJs:基于Provider模式的推送服务器实现
    Javascript:用 "脑图软件" 学习 “面向对象”
    TDD:MS自带的单元测试 之 线程模型和执行顺序
    NodeJs:“require” 函数详解,懂这个你就懂NodeJs了
    ExtJS4.2:AJAX提交数据的三种方式,80%人都没用过第三种
    设计原则:为什么需要“IOC”
    算法:“森林的遍历” 在 “企业应用” 的常见场景
    .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • 原文地址:https://www.cnblogs.com/httpcc/p/15411400.html
Copyright © 2020-2023  润新知