之前我们经常用的printf 可以输出多种类型的数据,现在介绍另外两个
一个是puts 输出字符串,putchar 输出单个字符
例子
putchar('z');
putchar(10);
既然有输出,那也应该有输入。 在C语言中,使用scanf 从键盘中获取用户的输入数据。
scanf 其实是 scan format的缩写。
我们看一个简单例子
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("a-b=%d\n", (a-b));
return 0;
}
运行结果:
100 20 ↙
100-20=80
从键盘输入 100,空格,再输入 20,然后回车(↙表示回车),就会看到两个数相减的结果。
它们都有格式控制字符串,都有变量列表。但是,scanf 的变量前要带一个&符号;&称为取地址符,用于获取变量在内存中的地址。
getchar
如果只是接受单个字符,可以选择使用getchar.
例子
#include <stdio.h>
int main()
{
char a, b, c;
a=getchar();
printf("a='%c'\n", a);
b=getchar();
printf("b='%c'\n", b);
c=getchar();
printf("c='%c'\n", c);
return 0;
}
运行结果:
XYZ↙
a='X'
b='Y'
c='Z'
或者这样输入的结果:
X↙
a='X'
b='
'
Y↙
c='Y'
第二次之所以是这样的结果,是因为 getchar 也带有缓冲区。输入 X 并回车,第一个 getchar 读取到 'X',接着第二个 getchar 读取到回车换行符,到第三个 getchar,缓冲区中已经没有数据,所以会等待用户输入。