scanf函數使用

scanf函數的標準輸入格式爲:scanf(格式控制字符串,地址列表);
其中格式控制字符串的一般形式爲 %[*][數據寬度][長度]類型。
1.類型 :%o (八進制)、%d(十進制)、%x(十六進制)、%f (字符型)、%u(無符號類型)、%c (字符型)、%s(字符串型)
2.數據寬度:用十進制整數來指定字符寬度 例如
int a,b;
scanf("%5d",&a);
當輸入爲1234567時,截取前面5位賦給a,則有a=12345
scanf("%4d%4d",&a,&b);
當輸入爲12345678時,此時截取前4位給a,後4位給b,則有a=1234,b=5678
3.長度:長度格式符爲l或h,其中l表示長整型數據例如%ld、雙精度浮點數%lf,h表示的是短整型數據
當輸入多個數值型數據時,如果格式控制字符串中沒有非格式字符(逗號、空格等 ) 出現 ,例如scanf("%d%d",&a,&b);此時在輸入數據時可以用空格、TAB或回車來表示輸入數據之間的間隔,比如輸入 1_2(回車) (這裏下劃線表示的是空格),則a=1,b=2
4.如果格式控制字符串中有非格式字符,則輸入時也需要輸入相應的非格式字符(正如本題所示的輸入中含有非格式字符 a=, b= 因此在輸入的時候也應該輸入a=, b=)
例如
int a,b;
scanf("%d,%d",&a,&b);含有非格式字符逗號,在輸入數據的時候就應該輸入1,2  此時有a=1,b=2
5.%*,表示的是在輸入數據時將會跳過這個數值
例如
int a,b;
scanf("%d,%*d,%d",&a,&b);輸入1,2,3 時,2將被跳過賦值,有a=1,b=3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章