c语言中 scanf(“%d”,a)和scanf(“%d”,&a)有什么不同

如题所述

scanf函数要求第二个参数是一个指针类型的变量
scanf("%d",a)----->表示a的定义为: int* a;
scanf("%d",&a)---->表示a的定义为: int a;

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-18
前面的不正确,得不到命令行输入

后面的可以。。。。。。

因为函数要根据地址才能返回。。。。。。。。。。。追问

但是书上的没加&

怎么就对了

第2个回答  推荐于2017-10-24
后面的符合可以获取地址 得到你要输入的数字或字符 否则就是错误 无法运行本回答被提问者采纳
第3个回答  2016-09-18
前者错误,后者正确本回答被网友采纳
第4个回答  2016-09-18
带符号的那个正确!
是用来获取产量的地址的?

c语言中scanf("%d",a)和scanf(%d",&a)在printf("%d",a)中到底有什么区 ...
二者的区别是一个是取变量的值,一个是取地址。scanf(%d",&a) 是读取整型变量a在内存中的地址,而scanf("%d",a)是读取整型变量a的值。&是取地址的意思,&a是取出变量a的地址scanf(%d",&a) 就是读取1个数字,写入a的地址,scanf("%d",a),是读取1个数字,写入地址a,这个a如果是100,就...

c语言中scanf("%d",a)和scanf(%d",&a)在printf("%d",a)中到底有什么区 ...
scanf(%d",&a) 就是读取整型变量a在内存中的地址 。scanf("%d",a)就是读取整型变量a的值。printf("%d",a) 就是输出整型a的值。在C语言中,&是取地址运算符,&a表示获取a在内存中的地址。%d 格式化输出整数。scanf() 函数用于从标准输入(键盘)读取并格式化, printf() 函数发送格式化输出到...

c语言中 scanf(“%d”,a)和scanf(“%d”,&a)有什么不同
scanf函数要求第二个参数是一个指针类型的变量scanf("%d",a)--->表示a的定义为: int* a;scanf("%d",&a)--->表示a的定义为: int a;

C语言 scanf("%d",&a) 和 printf("%d",&a) 有什么不同 它们各自的含义...
&a 是取出变量a的地址 scanf(%d",&a)就是读取1个数字 写入a的地址 scanf("%d",a)是读取1个数字 写入地址a 这个a如果是100 就写到地址100 如果是200 就写到地址200 显然 这很危险 万一a的存储的值刚刚好是一些指令的地址什么的 会写到这个地址修改指令 就运行不下去了 出大错 printf("%d",a...

C语言中scanf("%d",a)和sancf("%d".&a)究竟有何区别,为何有时用取地址...
每个变量定义后在内存上都要一个地,而a代表的是变量值,&a代表的是地址名。比如int a=1;printf("%d",a);这个输出语句输出的是a的值1,而printf("%x",&a);输出的是a在内存的地址,一个16进制的数

C语言 scanf("%d",&a) 和 printf("%d",&a) 有什么不同 它们各自的含义...
scanf("%d",&a),是输入一个整形数值给变量a,printf("%d",&a),是打印a的地址。如果去掉&,变成printf("%d",a),就是打印整形变量a的值了。输出时一般是不加&的

c语言里面的scanf("%d",&a),与scanf("a=%d",&a),有什么区别吗?
scanf为格式化输入,比如你要使得a为5,相对于前一个,你只要直接敲5回车就好,而相对于后者,你要输入 a=5

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

求scanf("%d",&a[i]);和scanf("%d",a);的区别。。还有在输出的时候能...
scanf("%d",&a[i]);\/\/这里说明a是一个整型数组,输入一个数赋给a[i]scanf("%d",a);\/\/这里说明a是一个指向整形单元的指针,将输入的数据赋给这个单元。输出时:如果a是一个字符数组,并且其中有带'\\0',才能直接printf("%s",a);这时会将'\\0'前的字符全部输出,否则只能一个一个输出。

C语言中编程时那些%d &之类的什么时候用啊?求详解!
d用于输入输出整型数时使用到, 例如 printf("%d", a);&用于取变量的地址或按位与运算, 例如 scanf("%d", &a);a=b & c;

相似回答