22问答网
所有问题
为什么字符串数组前不需要加&符号拜托各位了 3Q
C primer plus里说 在使用 scanf 时候 字符串数组前不需要加&符号,为什么?
举报该问题
推荐答案 2014-06-18
&是表示取地址,但是char * s(或char s[10]) 其中s是指针 是所保存的数组的首位的地址,它本身就是一个地址,所以可以用scanf("%s",s)来输入,其中%s是针对字符数组特有的, 如下代码 int a[100] scanf("%d",a);也是可以运行的,但是输入的数据在a[0]中,因为是%d
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/CITI6TS2ffIXX6h0ICT.html
相似回答
为什么
在C语言中在调用scanf()为
字符数组
输入字符串时,输入项是数组名...
答:
scanf输入普通变量时,要求通知计算机输入变量所在的地址是多少,所有加&符号表示相应变量的地址;而输入
字符串
时,
数组
名恰好是字符串的首地址,或者说数组的首地址,所有只需要写数组名即可,
不需要加&符号
C语言中
为什么用
scanf在给 数组和
字符数组
赋值是 数组
要加&
而字符...
答:
从scanf函数的函数原型可以看出,scanf接收到的数据是赋给args指向的内存单元的,也即args是一个内存地址,而变量的内存地址用取地址符&来表示,数组的地址就是数组名。所以数组的
前面不用加&
举例如下:int a; // 定义一个变量char b[3]; // 定义一个
字符数组
char *str=(char *)malloc(size...
大家正在搜
输入数组时为什么不加地址符号
字符串和字符数组的区别
字符数组可以存放字符串
将字符串转换为数组
两个数组之间用什么符号
字符串数组赋值
字符串变数组
字符串数组定义
java字符串数组