C语言中scanf后面a与&a[]有什么区别?? a是数组 例如scanf(“%d”,a)与 sc

作者&投稿:从哄 (若有异议请与网页底部的电邮联系)
c语言里面的scanf("%d",&a),与scanf("a=%d",&a),有什么区别吗?~

scanf为格式化输入,比如你要使得a为5,相对于前一个,你只要直接敲5回车就好,而相对于后者,你要输入 a=5

二者的区别是一个是取变量的值,一个是取地址。scanf(%d",&a) 是读取整型变量a在内存中的地址,而scanf("%d",a)是读取整型变量a的值。
&是取地址的意思,&a是取出变量a的地址scanf(%d",&a) 就是读取1个数字,写入a的地址,scanf("%d",a),是读取1个数字,写入地址a,这个a如果是100,就写到地址100。如果是200,就写到地址200,显然,这很危险,万一a的存储的值刚刚好是一些指令的地址什么的,会写到这个地址修改指令,就运行不下去了,出大错。printf("%d",a) 就没什么了 把变量a的存储的值输出然后&是取地址。
拓展资料:
1、在HTML或SGML文档中,用于指明有字符存在(特殊字符)的默认符号。
2、在电子制表程序中,用于在描述单元格相互关系的公式中插入文本的操作符。
3、英文中代表and,也可读and。
4、该字符读音“z'da”。
5、&还有“联合”的意思。比如“A&B”公司,就是“A”和“B”两间公司合并起来的。
6、在某些电脑语言,如java中,表示按位进行“与”运算。
7、英文拼写:ampersand。
8、高级语言中的取地址符,如:“int a=0;int *p;p=&a;”,意为取变量a的地址给指针p。
9、C语言中两个&&表示“与”运算。如:while(a==9&&b==5) 表示当a等于9且b等于5时,条件成立。
10、Matlab中,&表示“与”运算(对应地,|表示“或”运算),但Matlab较高版本(如:Matlab R2008b)中,也承认&&的写法。在以上的意义中,以第3和第5项的用法最为普遍。
11、在vfp 数据库中,&是一个宏代换函数,用内在变量的值来代替&及变量名。
12、在Pascal中,&是八进制整型常量的前缀,如&7表示7 , &17表示15 , &177表示127 。
13、&还被大量引入到艺术创作与设计中。
14、bat中的命令,&之后顺序执行多条命令,不管命令是否成功。
15、在Visual Basic中使用命令按钮时,(&字母)代表将该字母设为快捷键。如在命令按钮的Caption属性中输入“确定(&K)”则表示K为“确定”事件的快捷键。
16、起标识作用。C++中引用的声明方法:类型标识符 &引用名=目标变量名,&在此不是求地址运算,而是起标识作用。
资料来源:百度百科:&

a[ i ]表示a数组的第 i个元素,&a[i]表示a数组第i个元素的地址
前一句是明显的错误,scanf输入语句输入元素必须加取地址符&
或者在循环语赋值中直接写a,代表a数组的首地址


c语言中 scanf("%*s"); 的具体意思,
scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功...

C语言中,怎样判断scanf函数输入结束呢?
1、新建一个scanf项目。2、添加一个scanf.cpp文件,如图所示。3、包含stdio.h头文件,如图所示。4、输入main函数。5、使用scanf函数接受用户输入的字符,如图所示。6、运行程序,查看效果。注意事项:(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)它是格式...

在C语言中scanf("%f",&fahr,&cels) 是什么意思?
因此,在上面的代码中,scanf("%f",&fahr,&cels) 意味着:调用 scanf 函数,从标准输入中读取一个浮点数,并将其存储到 fahr 变量中。但是,在这段代码中,存在一个错误,因为 scanf 函数后面只有一个变量(fahr),而没有第二个变量(cels)。这意味着,如果您尝试运行这段代码,您可能会收到一...

C语言中scanf怎样插入换行符?是scanf("%d\\n",&l)么??为什么在运行时还是...
呵呵,你混淆了printf()和scanf()了吧?scanf是用来输入的,当你按回车键之后它就结束输入,命令行里面也就换行了。scanf("%d",&l)就行了。

C语言中scanf("%lf",&f);中%后的l表什么意思,加上不去掉有区别吗_百度...
有区别,float y=-789.124; printf("%f\\n",y);一般上面语句输出结果会与-789.124有差别(不一定,会与坏境等有关系)。这就是浮点数的误差,因为精度不够, 而加了printf("%lf\\n",y);后可能表示的就更精确些(但是也不能保证完全精确,只是误差小了而已),lf表示双精度浮点数格式 ...

c语言scanf的用法
scanf是C语言标准库中的一个函数,用于从标准输入流读取输入,并根据提供的格式字符串将输入转换为相应的数据类型。以下是scanf函数的基本用法:1、输入整数:输入一个整数,并将其存储在变量num中,格式为:intnum;换行继续输入scanf("%d",&num)。2、输入浮点数:允许用户输入一个浮点数,并将其存储...

c语言中两行scanf为什么每一行完成后都需要
验证:include <stdio.h>void main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d %d",a,b);} 运行示例:可见,输入的数值是可以在同一行的。输入的数值也可以不在同一行,输入第一个数后回车,输入第二个数。同样用上面的程序验证:可见,输入的数值也可以不在同一行。

C语言中if(scanf("%d %d\/n", &p, &q)) == 2是什么意思?
这是是判断scanf的返回值,你可以查看一下scanf函数的详细解说,不过一般不用这个返回值罢了。给你说明白点,这里让你输入两个整形,如果你输入了两个整形那scanf的返回值就等于2,如果你输入了一个整形另一个其它类型scanf的返回值就是1,如果你两个都不是输入正新就返回0,说白了scanf的返回值就是你...

c语言中,scanf语句里面什么时候要加&,什么时候不要加&?
这里所说的其实就是一个地址 所以当变量是一个指针或者表示一个地址时就不中& &就是求地址的运算符 如数组名是数组第一权个元素的地址 所以数组名就可以不用加&进行运算 比如 int a;int *p=&a;scanf("%d",p);则不需要使用&运算符

C语言中用scanf需要输入的地方按回车怎么就退出了?
其实已经显示完a了,只不过太快了,你还没看见呢,程序就结束了。你应该在printf("a"); 的后一行加上一个断点,再运行,程序会停下来。也可以这样:include<cinio.h> main(){ int a;scanf("%d",&a);printf("%d",a);getch();}

江洲区13033078169: c语言中scanf括号里&什么意思 -
仲话新威: 代表取地址的意思,如scanf(“%d”,&a),则代表输入的数据将被填充到地址为&a的内存空间上,而&a的地址就是存储a的,所以输入的数据就存储到变量a中.

江洲区13033078169: scanf 后面&什么意思 -
仲话新威: 在C语言,C++,C#中,&都是取地址符的意思,如:“&a”,就是取得a的地址一边对其操作

江洲区13033078169: c语言 &a和a的区别搞不明白? -
仲话新威: 首先,a是一个变量,储存着值.&a是常量,是变量a的内存地址.一般的&a是用来赋值给指针的(int *p=&a ;),或者是作为函数的参数传递(地址传递).比如scanf中:scanf("%d",&a);如果输出,也并不是按照你说的那样,比如a是字符型:putchar(a) ;a是整形:printf(“%d”,a) ; 所以输出是用a还是&a,要看函数的参数类型是变量还是指针.

江洲区13033078169: c语言— main() { int a;scanf("%d",&a) } 上边&a可以换为a吗?两者区别在哪里? -
仲话新威: 不可以的,scanf函数的格式是:scanf(格式控制字符串,地址表);如将&a换为a的话,那地址就没了,变成一个变量a了,若你不能看懂,求再追问.还有希望你能多看看书!

江洲区13033078169: c语言中,scanf里面要是数组要不要加&? -
仲话新威: 你要弄明白原理就明白了.scanf传得必须是指针,也就是地址.比如int a;就需要&a;但是如果是数组,数组本身表示的是数组首元素的地址.也就是int a[10];a就表示a[0]的地址...

江洲区13033078169: c语言中语句scanf("%d,%d",&a,&b);什么意思?其中scanf什么意思?还有%d,%f,&a什么意思? -
仲话新威: 这句话的作用,就是你在执行程序的时候,会在界面上让你输入两个数. %d中的d表示输入的值是十进制数(decimal的首字母) " "引号中的是需要输入的格式,就你的例子,格式为:输入第一个十进制,加逗号,再输入一个十进制数,例如12,24 &a中的a则表示你输入的第一个十进制数将给a这个变量,即a=你输入的第一个十进制数

江洲区13033078169: c语言 scanf为什么要用&来取地址 -
仲话新威: 因为scanf要往你的变量里写入数值,所以他必须知道那个变量的地址,至于变量里存的是什么值,他百是不管的,反正他写入之后就被覆盖成新的值了 对比printf,他是要输出变量里的数值,他只管要那个值,至于地址在哪,他也无所谓 这就是...

江洲区13033078169: c语言中 %d 和 &a是啥意思. -
仲话新威: scanf("%d",&a),是输入一个整形数值给变量a,printf("%d",&a),是打印a的地址.如果去掉&,变成printf("%d",a),就是打印整形变量a的值了.输出时一般是不加&的.望采纳!!!!

江洲区13033078169: c语言中 如scanf("%d",&a)为什么要加& 而printf(“%d",a+b)里却没有这个& %f %d之类的是怎么回事 -
仲话新威: c语言中的函数的参数传递都是值传递,形参的改变并不能改变实参的值. 若想改变 实参的值,可以采用地址传递.scanf函数将用户的输入的数值存储到实参a中,所以需要传递a的地址. printf函数是将a+b输出到屏幕上,并不需要改变a+b的值,所以无需传递地址.

江洲区13033078169: C语言中“&”这符号是什么意思? -
仲话新威: 1个&是地址符,一般用再输入里scanf("%f,%f,%f",&a,&b,&c); 的&a,&b,&c; 2个是与,,再以后的知识里会碰到,,,这里不详说

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