scanf函数的一般形式
scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与 printf函数相同,C语言也允许在使用scanf
函数之前不必包含stdio.h文件。scanf函数的一般形式为: scanf(“格式控制字符串”,地址表列); 其中,格式
控制字符串的作用与printf函数相同,但不能显示非格式字符串, 也就是不能显示提示字符串。地址表列中给出各
变量的地址。 地址是由地址运算符“&”后跟变量名组成的。例如,&a,&b分别表示变量 a和变量b 的地址。这个地
址就是编译系统在内存中给 a,b变量分配的地址。在C语言中,使用了地址这个概念,这是与其它语言不同的。 应该
把变量的值和变量的地址这两个不同的概念区别开来。变量的地址是 C编译系统分配的,用户不必关心具体的地址是
多少。 变量的地址和变量值的关系如下: &a--->a567 a为变量名,567是变量的值,&a是变量 a的地址。在赋值表
达式中给变量赋值,如: a=567 在赋值号左边是变量名,不能写地址,而scanf函数在本质上也是给变量赋值,但要
求写变量的地址,如&a。 这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地
址。
void main(){
int a,b,c;
printf("input a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
}
注意&的用法!
在本例中,由于 scanf函数本身不能显示提示串,故先用 printf语句在屏幕上输出提示,请用户输入a、b、c的值。
执行 scanf语句,则退出TC屏幕进入用户屏幕等待用户输入。用户输入 7、8、9后按下回车键,此时,系统又将返回
TC屏幕。在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔, 因此在输入时要用一个
以上的空格或回车键作为每两个输入数之间的间隔。
如: 7 8 9
或
7
8
9