读取数字
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
1.第一种方式:getchar();
char a,b,c,d,e,f;
scanf("%c %c %c",&a,&b,&c);
getchar();//读取换行符
scanf("%c %c %c",&d,&e,&f);
2.第二种方式: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]
原文链接:https://blog.csdn.net/zhanghaha0/article/details/128771437