目录:
定义-Scanf是什么意思?
在C语言中,scanf是一个函数,用于从stdin(即标准输入流,通常是键盘,除非重定向)中读取格式化的数据,然后将结果写入给定的参数中。
该函数属于具有相同功能但仅在数据源方面有所不同的一系列函数。 例如,fscanf从文件流获取其输入,而sscanf从字符串获取其输入。
Techopedia解释了Scanf
scanf函数具有以下原型/签名:
int scanf(const char * format,…);
哪里
- int(整数)是返回类型
- format是一个包含类型说明符的字符串(请参见下文)
- “ …”(省略号)表示函数接受可变数量的参数; 每个参数必须是一个将转换结果写入其中的内存地址
一个简单的类型说明符由一个百分比(%)符号和一个指示类型的字母字符组成。 以下是scanf识别的类型说明符的一些示例:
- %c -字符
- %d -有符号整数
- %x -十六进制格式的无符号整数
- %f -浮点数
- %s -字符串
该函数通过从标准输入流中读取输入来工作,然后扫描“格式”的内容以查找任何格式说明符,以尝试将两者匹配。 成功后,函数会将结果写入传递的参数中。
例如,如果函数调用为
scanf(“%c%d”,&var1,&var2);
并且用户键入“ a1”,该函数会将“ a”写入“ var1”,将“ 1”写入“ var2”。 如果函数调用是
scanf(“%x”,&var);
相同的输入将被读取为十六进制数“ a1”,即十进制的161。
该函数返回以下值:
- > 0-成功转换和分配的项目数。
- 0-未分配项目。
- <0-遇到读取错误或在进行任何分配之前达到文件结尾(EOF)。
