天天看點

C語言----輸入語句(進階篇十五)

  ......

  scanf的使用

    程式1

      scanf的細節

    ※可以指定輸入資料所占列數,系統自動按要求截取所需資料。如:

        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格式輸入

    ※在輸入資料時,遇以下情況時該資料認為結束:

      (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。否則得不到正确的資料