关于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 %c\n",&a,&b,&c);
scanf("%c %c %c\n",&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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yq要变成百万富翁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值