scanf语句用法记录

Posted 宵夜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scanf语句用法记录相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

格式字符  说明

 %d           输入整形数据

 %f           输入单精度浮点型数据

 %lf          输入双精度浮点型数据(float型可用)

 %c           输入一个字符

 %s           输入一串字符

 %%           输入%字符

 

(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间隔数据即可,但不可不间隔。

---恢复内容结束---

以上是关于scanf语句用法记录的主要内容,如果未能解决你的问题,请参考以下文章

c语言中用了scanf语句就输不出结果把scanf删掉就能出结果是为什么

while(scanf(“%d“,&n)‘’=EOF) 用法

c语言:关于scanf()语句与while循环的问题

C语言scanf语句导致无法进入循环?

C语言中利用scanf语句输入多个值的问题

c语言switch语句中break的用法