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