zoukankan      html  css  js  c++  java
  • 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。否则得不到正确的数据 

  • 相关阅读:
    以一道CTF题目看无参数RCE
    浅谈php序列化字符串逃逸问题
    [XCTF 4th] ics-05 复现
    关于Sharp俩打印机AR-1808S和AR-2348SV的共享问题
    关于使用AdventureWorks2008示例数据库之初碰到的问题
    明日科技的SQL Server---6
    ado.net 4 step by step随书数据库
    手欠,大半个下午加一晚上就报销了。
    程序员的SQL金典
    c#读写文件
  • 原文地址:https://www.cnblogs.com/httpcc/p/15411400.html
Copyright © 2011-2022 走看看