scanf
getchar
gets
fgets
1、scanf
其调用格式为: scanf("<格式化字符串>",<地址表>);
例1.1整数
scanf("%d%d%d",&a,&b,&c);
顺序读入3个整数,以空格 制表符 回车进行划分。
例1.2字符-空格的作用
scanf("%c%c%c",&c1,&c2,&c3);
1.2.1"%c%c%c"中间没有空格
i输入:
a b c
i输出
c1=a
c2= (空格)
c3=b
scanf("%c %c %c",&c1,&c2,&c3);
1.2.2"%c %c %c"中间有空格(个数没有关系)
ii输入:
a b c
ii输出
c1=a
c2=b
c3=c
例1.3字符串
scanf("%s",s)
i输入
asd ffg
i输出
s="asd"
截取空格前面的字符串。
2、getchar()获取单个字符
char c;
c=getchar();
等于scanf("%c", c)
相当于scanf的简化版本。
3、gets获取字符串
char s[5];
gets(s);
printf("%s",s);
i输入
asdfghj
i输出
asdfghj
因为c不检查是否超过数组的长度,所以可以传入超长的字符串,而在输出字符串的时候,是以字符串结束标志'\0'为准的。所以不推荐使用
4、fgets获取字符串
char buf[5000];
fgets(buf,sizeof(buf),stdin)
原本fgets是从文件中读取字符串的,这里导向到标准输入,并且这个函数是可以指定输入的字符串的长度的。
网友评论