c语言scanf啥意思?

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”。

更多编程相关内容,请关注php中文网编程入门栏目!

更多相关文章

  1. c语言strcpy函数用法
  2. c语言允许函数的递归调用吗
  3. c语言求x的n次方的函数是什么
  4. c语言函数返回值类型由什么决定?
  5. c语言程序总是从第一个定义的函数开始执行吗?
  6. c语言规定在一个源程序中main函数的位置是哪里?
  7. 静态成员函数有什么特点?
  8. c语言求平方函数是什么
  9. c语言规定,函数返回值的类型是由什么决定的?

随机推荐

  1. 深入理解 JavaScript 回调函数 [每日前端
  2. Java面试题全集(4)
  3. Java面试题全集(11)
  4. Java面试题全集(5)
  5. 你可能错过的现代 JavaScript 特性 [每日
  6. 怎样创建你的第一个React Native App[每
  7. Vue3 对 Web 应用性能的改进[每日前端夜
  8. Linux性能优化(四)——BCC性能监控工具
  9. Vue 3 中令人兴奋的新功能[每日前端夜话0
  10. 用 MelonJS 开发一个游戏[每日前端夜话0x