scanf是c语言中的标准库函数,主要作用是接收用户输入的数据。
scanf是C语言中的输入函数,可以从键盘获得用户输入,和printf输出功能正好相反。scanf的输入格式是多种多样的,使用时需根据情况选择,最常用的是十进制整数型输入%d。
scanf的使用和输入格式
scanf("%d", &c)//输入一个整数并赋值给c。
scanf("%d", &d)//输入一个整数并赋值给d。
scanf("%d,%d", &c, &d)//输入两个整数并分别赋值给c、d。
scanf("%d %d", &c, &d)//输入两个整数并分别赋值给c、d。
前两个scanf:输入一个整数,按下回车键,scanf会读取键盘输入,并把数据赋值给c(或d);后两个scanf:都是一样功能,输入格式不同,对于scanf(),输入数据的格式要和控制字符串的格式保持一致。比如:输入15 24回车,输入15,24回车,同样的把值分别赋给c和d。
scanf()是C语言中的一个输入函数,属于格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)
拓展资料:
函数原型
int scanf(const char * restrict format,...)函数 scanf() 是从标准输入流stdio (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
返回值
scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。
如:scanf("%d %d",&a,&b)
函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;
如果只有a被成功读入,返回值为1;
如果a和b都未被成功读入,返回值为0;
如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者Ctrl+d。
例:使用scanf函数输入数据。
#include <stdio.h>int main(void){ int a,b,c printf("Give me the value of a,b,c seperated with whitespaces:\n") scanf("%d%d%d",&a,&b,&c) printf("a=%d,b=%d,c=%d\n",a,b,c) return 0}&a,&b,&c中的&是寻址操作符,&a表示对象a在内存中的地址 ,是一个右值。变量a,b,c的地址是在编译阶段分配的(存储顺序由编译器决定)。
这里注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
参考资料:scanf (计算机语言函数)百度百科