00问答网
所有问题
为什么在C语言中,用scanf输入字符串时,不需加&
如题所述
举报该问题
推荐答案 推荐于2017-11-22
因为字符串变量名在 scanf 语句里 表示指针 (地址)
例如:
char s[80];
scanf("%s",s); --- 这里的s 已是地址。
当然,写成 scanf("%s",&s[0] ); 也可以, &s[0] 是地址。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/ejBZIZTTeIB0IDBnZj.html
其他回答
第1个回答 2016-06-01
举例:
char str[256];
scanf("%s",str);
其中str是数组名,已经代表数组的起始地址了,也可以这么写:
scanf("%s",&str[0]);
第2个回答 2016-06-01
这个问题现在告诉你也听不明白。。。
追答
等你学了指针才能明白
相似回答
为什么C语言Scanf
函数对
字符串不
要加 取地址运算符&
答:
C语言的字符串为数组形式,而数组的名称可以表示其地址,故对字符串输入不需要加地址符
。而单独的字符、整型变量等的名称不能直接表示地址,故需要加地址符。数据类型 字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中...
为什么在C语言中
在调用
scanf
()为字符数组
输入字符串时,
输入项是数组名...
答:
scanf输入
普通变量时,要求通知计算机输入变量所在的地址是多少,所有加&符号表示相应变量的地址;而
输入字符串时,
数组名恰好是字符串的首地址,或者说数组的首地址,所有只需要写数组名即可
,不需要加&
符号
C语言中scanf
(“%s”,m);m前面
为什么不用加&
??
答:
scanf
(“%s”,m);//首先scanf这个函数是按照一定的输入格式从标准输入窗口获取数据,并将其赋值给变量;这里%s 是指输入一个
字符串,
而此处的m 即是一个字符串变量名,其本身就表示字符串m的首地址;因此无须再加取地址符&;printf("%d%f%s",a,b); //这里没有完整写出参数列表,控制格式与后...
C语言中
用scanf
函数
输入字符串
数组,取地址符&是
不用
输的,如果输了取...
答:
C语言的字符串为数组形式,而数组的名称可以表示其地址,故对字符串输入不需要加地址符
。而单独的字符、整型变量等的名称不能直接表示地址,故需要加地址符。数组名就代表了该数组的地址。整个数组是一块连续的内存单元,数组名所代表的地址为第0个元素的地址,c就代表c[0]的地址。设数组c的首地址为...
大家正在搜
c语言怎么用scanf输入字符串
在c语言中scanf什么意思
如何用scanf输入字符串
scanf函数输入字符串
scanf输入字符串遇到空格
scanf是不是c语言关键字
scanf读入字符串 空格
c语言scanf和printf
c语言字符串
相关问题
为什么在C语言中在调用scanf()为字符数组输入字符串时,...
为什么C语言Scanf函数对字符串不要加 取地址运算符&
c语言scanf输入字符时scanf(“ %c”,&a[i]...
c语言中,scanf语句里面什么时候要加&,什么时候不要加&...
C语言中scanf(“%s”,m);m前面为什么不用加&??
计算机c语言中的scanf函数什么情况需要&,什么时候不需要...
c语言问题 scanf()不加&问题
c语言关于字符串用scanf输入的问题