格式字符 說明
%d 輸入整形數據
%f 輸入單精度浮點型數據
%lf 輸入雙精度浮點型數據(float型可用)
%c 輸入一個字符
%s 輸入一串字符
%o 輸入八進制整數
%% 輸入%字符
注意:scanf("%c %c",&char1,&char2);和scanf("%c",&char1);scanf(" %c",&char2);無任何區別(注意第二個%c前面有space字符)
(1)%d的使用
1 #include "stdio.h" 2 int main(void) 3 { 4 int a,b,c; 5 scanf("%d%d%d",&a,&b,&c); 6 printf("%d,%d,%d/n",a,b,c); 7 return 0; 8 }
輸入格式:
abc或a b c等等
說明:a、b、c這三個字母中可加space、tab、newline字符。
1 #include"stdio.h" 2 int main(void) 3 { 4 int a,b,c; 5 scanf("%d,%d,%d",&a,&b,&c); 6 printf("%d,%d,%d/n",a,b,c); 7 return 0; 8 }
輸入格式:
a,b,c或a, b,c等等
說明:規則與上一例基本相同,但注意每個字母后必須加一個","。
1 #include "stdio.h" 2 int main(void) 3 { 4 int a,b,c; 5 scanf("%d %d%d",&a,&b,&c); 6 printf("%d,%d,%d/n",a,b,c); 7 return 0; 8 }
輸入格式:
abc或a b c等等
說明:在scanf語句中的%d和%d之間加入space和tab等同%d%d。
(2)%c的使用
注:%c可讀取space、tab和newline。
1 #include<stdio.h> 2 int main() 3 { 4 char a, b, c; 5 scanf("%c%c%c", &a, &b, &c); 6 printf("%c%c%c", a, b, c); 7 return 0; 8 }
輸入格式:
abc
說明:輸入的數據中不能加入任何任何字符包括space、tab、newline。
1 #include<stdio.h> 2 int main() 3 { 4 char a, b, c; 5 scanf("%c %c%c", &a, &b, &c); 6 printf("%c%c%c", a, b, c); 7 return 0; 8 }
輸入格式:
a bc或a
bc
說明:在scanf語句中的%c和%c之間加入tab或space的話,可在輸入時加入space、tab、newline(%d和%c之間也是如此)。
1 #include<stdio.h> 2 int main() 3 { 4 char a, b, c; 5 scanf("%c,%c%c", &a, &b, &c); 6 printf("%c%c%c", a, b, c); 7 return 0; 8 }
輸入格式:
a,bc
說明:除tab、space、newling字符以外都得在輸入時對應輸入,否則會出現亂碼。
(3)%s的使用
注:%s無法讀取space、tab、newline。
1 #include<stdio.h> 2 int main() 3 { 4 char a[10],b[10]; 5 scanf("%s %s",a,b); 6 printf("%s%s", a,b); 7 return 0; 8 }
輸入格式:
I You或I
You
說明:%s不能讀取space、tab、newline,%s和%s之間輸入這三個字符同%s%s,在輸入時三個字符不影響輸入。
注:%s和%s不要加入任何除space、tab以外的字符,若要加入字符必須用space或tab間隔。
例:%s %% %s
%s %%%s
1 #include<stdio.h> 2 int main() 3 { 4 char a[10], b[10], c; 5 scanf("%s %c%s",a,&c,b); 6 printf("%s%s%c", a,b,c); 7 return 0; 8 }
輸入格式:
a b c或a bc或a
bc
說明:%c與%s類似%s%s輸入時可加tab、space、newline也可連着輸入一串字符(這串字符的第一個字符給了c,剩余字符給了b)。%s和%c之間若無tab或space,c只能得到'\n',若有則輸入時可加tab、space、newline。
另注:%s與%d混用,輸入時用space、tab或newline間隔數據即可,但不可不間隔。