C语言用scanf语句 输入几个数值时,数值之间用什么隔开

作者&投稿:那许 (若有异议请与网页底部的电邮联系)
c语言中,用scanf语句输入多个数据的时候,数据之间是用什么符号间隔开的啊?逗号,还是空格啊?~

example:
scanf("%d%d%d",&a,&b,&c);
你在屏幕中输入时可以这样
1 2 3
也可以这样:
1
2
3

1、有一个很严重的错误,输入字符数组的两个
scanf("%d %s %c %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
scanf("%s",&person[i].category.position);
2、把这两行中字符数组输入时前面的&符号去掉,对字符数组输入本身就是地址,不要加&,改成这样
scanf("%d %s %c %c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
scanf("%s",person[i].category.position);
3、其他的也没有什么错误,记着输入时候,那几个值之间用一个空格隔开,用scanf()函数输入的时候,本质是,你给scanf一个地址,这个函数会根据你输入的地址把,输入缓冲区中的数据放在指定地址处
4、像int ,char,double,long,float这些基本类型,再分配空间的时候,只是给他们一个空间,所以用scanf()输入的时候,要加&取地址符号,才能给他们赋值
5、然而char *,char [],这些本身是一块区域的首地址,本身就是地址,所以用scanf时,不用加&因此,输入里面不需要加的只有,person[i].name,person[i].category.position两个,其他的都是基本类型,因此都需要加
扩展资料:
优缺点
1、简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

C语言的 Hello World 程序
2、运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3、数据类型丰富

C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。
4、表达方式灵活实用
C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。
5、允许直接访问物理地址,对硬件进行操作
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
6、生成目标代码质量高,程序执行效率高
C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。
7、可移植性好
C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。
8、表达力强
C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。
C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。它既可用来编写系统软件,又可用来开发应用软件,已成为一种通用程序设计语言。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

scanf输入数值时,需要按照scanf格式参数的定义来决定数值之间用什么隔离。
譬如
scanf("%d,%d", &a, &b); 输入两个数之间必须有一个逗号
scanf("%d&%d", &a, &b); 输入两个数之间必须有一个&号
如果没有特别指明分隔符号,默认是空格或回车。

和编辑器有关比如,在VS code里面,如果scanf的两个数间不用符号,那么输入时用回车,用“,”,则两个数间用,隔开。
但dev c++好像不能用符号,用符号不报错,但输入“4,6”好像后面的数字无效。

空白符

逗号


c语言在 电脑上用scanf输入001,为什么printf输出显示是1,怎么把输出显 ...
即忽略前导的零。因此如果要保留前导零,需要对其进行格式化输出。可以使用printf函数的格式控制字符串,指定输出的数字位数和前导零即可,如下所示:int num;scanf("%d", &num);printf("%03d", num); \/\/ 输出3位数字,若不足3位,在前面补0 这样就可以输出001了。

关于scanf的用法
3、对于%f,后面输入的是7 543.0,对于浮点型数据是不可能得到空格的,所以遇到空格,认为是非法输入,结束输入。所以b的值是6,即是6.000000。4、scanf函数是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。它是格式输入函数,即按...

用scanf输入字符串
s与&s都表示地址,且值相等。s与&s类型不一样,s的类型为char *,&s的类型为char (*)[10],即指向一行有10个字符的指针。在scanf("%s",&s);语句中,&s有一个隐含的强制类型转换,即相当于scanf("%s",(char *)&s);

c语言scanf()的格式是什么?
&n表示对象n在内存中的地址。scanf("%d%*c", &n);整体表示输入两个数,并且忽略掉第二个字符型的输入项,然后将输入的对象存入n。在C语言的scanf函数中,格式字符串的一般形式为:%[*][输入数据宽度][长度]类型(其中有方括号[]的项为任选项)。不同的格式符类型有不同的功能。

c语言中scanf是什么意思?怎么用?
答:scanf()的功能是从键盘获取数据赋值给对应的变量,括号内包括输入控制符和输入参数两部分。从键盘输入的数据需要转化成输入控制符的格式数据,然后存入输入参数。scanf("%3d",&a);是通过十进制整数3指定输入的宽度,即字符数,超出部分不赋值,故题中只把123赋值给a。scanf("%3c",&ch);通常%3c...

C语言中用scanf函数输入字符时,为什么要在输入控制符%c前面加空格?用s...
c前面的空格就是用来屏蔽空白符的,首先必须要知道C语言 scanf() 函数的特性,以及scanf()与缓冲区、标准输入流之间的联系。在此之前,先介绍两个专业术语。1.缓冲区 缓冲区是一块存放临时输入数据的内存,我们在键盘上输入数据之所以不会马上显示,就是因为数据存放在了缓冲区,在上面例子中,当我们按...

c语言中scanf有什么作用,?
C语言中scanf是标准库函数,主要用来接收用户输入的数据。C标准函数库是所有符合标准的头文件的集合,以及常用的函数库实现程序,例如I\/O输入输出和字符串控制。不像这三种COBOL、Fortran和PL\/I等编程语言,在C语言的工作任务里不会包含嵌入的关键字,所以几乎所有的C语言程序都是由标准函数库的函数来创建...

C语言中是用scanf输入还是cin?
C语言中从键盘输入的输入语句最常用的是scanf语句,函数原型为int scanf(char format,args,...);功能是从标准输入设备按format指向的格式字符串所规定的格式,输入数据给args所指向的单元.C++中,可以使用scanf语句和cin(标准输入流)两种方式。标准输入流cin是从键盘向内存流动的数据流,用>>运算符从...

C语言输入两个数之间使用空格隔开还是使用逗号隔开
C语言输入两个数之间使用空格隔开还是使用逗号隔开主要取决于你在编写程序时你的scanf语句。具体的区别如下:1、使用scanf("%d,%d",&a,&b);语句进行输入:在输入数据时,两个数据中间需要加“,”,如“500,600”。2、使用scanf("%d%d",&a,&b);语句进行输入:在输入数据时,数据之间不可以用逗号...

c语言scanf的用法
用法:int scanf(char*format,[argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为:scanf(“<格式化字符串>”,<地址表>);scanf()函数返回成功赋值的数据项数,出错时则返回EOF;...

富拉尔基区17358176714: C语言连续输入两个数,这样对吗? scanf("%f%f",&a,&b); -
公屠济尼: 此方法可以,输入时用空格、跳格、换行等都可分隔,但输入多个数,一般会用循环输入方式来做,如输入5个数: float a[6]; for(i=0;i<5;i++) {scanf("%f",a+i);} 输入时也是用空格、跳格、换行等分隔.

富拉尔基区17358176714: C语言 格式输入scanf函数 中的问题 -
公屠济尼: scanf("%d%d%d" -- %d 表示按整型 输入一个数,%d%d%d 表示按整型 输入三个数. scanf("%d%d%d",&a,&b,&c); 后面的 三个参数 &a,&b,&c 表示把依次输入的三个数,按次序 存到 a的地址里,b的地址里,c的地址里.3<回车>4<回车>5<回车> -- 输入的第一个数是 3,第二个数是 4,第三个数是 5.输入数据 的分隔符 是 <回车> 键第一个数是 3,存到 a 第二个数是 4,存到 b 第三个数是 5, 存到 c

富拉尔基区17358176714: C语言 如何在不使用数组的情况下 用scanf函数连续输入n个数的 -
公屠济尼: int max,min; int m,n; scanf("%d %d",&n,&m); max=min=m; for(int i=0;i{scanf("%d",&m); if(m>max) max=m; if(m min=m; }

富拉尔基区17358176714: 如何用c语言表示输入n个数字? -
公屠济尼: for(int i=0;i<10;i++) scanf("%d",&a[i]); 这样就可以输入10个数到数组中的.

富拉尔基区17358176714: c语言如何实现输入任意多个整数? -
公屠济尼: 用循环结构. 具体操作如下. int a; scanf("%d",&a); while(a!=0) { scanf("%d",&a); }这时,你输入任意个整数都行,两个整数中间用任意数量空格隔开,只要最后一个整数输入的是0就行了

富拉尔基区17358176714: 如何用C语言输入N个数字! -
公屠济尼: 你说的是怎么样输入N个数字呢?是从1到n输入n个数,还是怎么样的? #define N 1000 int i,m; for(i=0;i<N;i++) {scanf("%d",&m);printf("%d",m); } 或者是这个形式的,这样也是输入了N个数字 再或者是你说的随机输出N个数字...随机输出有个库函数

富拉尔基区17358176714: 用c语言编程,用scanf数组输入,请输入任意个数,按回车键结束,统计多少个 -
公屠济尼: 你本身只输入了一个数,a是数组a[70]的首地址,所以你输入999到a[0]去了,输入到数组要用循环,在这时计算输入多少个就可以了#include<stdio.h> main() { int a[70],i=0,x; printf("请输入任意个数,按回车键结束,统计多少个\n"); for(x=0;x<70;x++) { scanf("%d",&a[x]);printf("您已经输入%d个数\n",x+1); }} }

富拉尔基区17358176714: 我用C语言scanf输入2个数字是怎么只能收到一个 -
公屠济尼: 代码和输入格式有误. 1、scanf("%d,%d",&a,&b);按照这个格式,输入数据的时候,应该加上逗号.比如说想输入22 33 就应该 22,33. 2、也可以像这样scanf("%d %d",&a,&b);中间用空格隔开,那样就可以直接输入 22 33了. scanf ...

富拉尔基区17358176714: c语言 怎样用scanf输入数组变量? -
公屠济尼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15#include<stdio.h> voidmain() {inta[10], i;// 输入10个数,放入数组for(i=0; i<10; i++){scanf("%d", &a[i]);}// 输出for(i=0;i<10;i++){printf("%d\n", a[i]);} } 用循环语句实现

富拉尔基区17358176714: 想在C程序中用scanf连续输入几个数据的问题 -
公屠济尼: scanf中的a[i]前少了取地址符号

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网