关于scanf()读取数字、字符、字符串的总结

1.读取数字

1.1 读取单个数字:直接读取

//输入2
//读取
int a;
scanf("%d",&a);

1.2 读取多行数字

1 2 3
4 5 6

读数字时scanf可以直接忽略空格和换行,所以同样直接读取

int a,b,c;
scanf("%d%d%d",&a,&b,&c);

1.3 读取带格式的数字

2013-1-27

按格式输入按格式写格式化字符串即可

int a,b,c;
scanf("%d-%d-%d",&a,&b,&c);

2.读取字符

2.1 读取单个字符:直接读取

//输入a
//读取
char x;
scanf("%c",&x);

2.2 读取带空格的字符

h h h

按格式书写格式化字符串即可

char a,b,c;
scanf("%c %c %c",&a,&b,&c);

2.3 处理字符间的换行符

假设要读取以下内容

a b c
d e f

第一种方式getchar();

char a,b,c,d,e,f;
scanf("%c %c %c",&a,&b,&c);
getchar();//读取换行符
scanf("%c %c %c",&d,&e,&f);

第二种方式scanf自行处理

char a,b,c,d,e,f;
scanf("%c %c %cn",&a,&b,&c);
scanf("%c %c %cn",&d,&e,&f);

3.读取字符串

 3.1 读取不带空格的字符串

hello

直接读取

char str[10];
scanf("%s",str);

3.2读取带空格的字符串

scanf读取字符串时遇到空格自动停下,因此要读取带空格的字符串要特殊处理

hello world

用%[^n]表示读到换行符停下

char str[15];
scanf("%[^n]",&str);

总结

scanf()读数字,直接读取

scanf()读字符,格式化字符串用%c,处理换行符用getchar()或n

scanf()读取字符串,遇到空格停止读入,如果要读入空格,需用%[^n]

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>