77问答网
所有问题
当前搜索:
c语言中输入数组时用不用加地址符
C语言
问题,下面代码中,前面
输入
学号跟名字时,为什么scanf函数后面
不用
&...
答:
上面的可以,是因为number和name都是 char [6]
数组
,它可以隐式转换为 char (*)[6],所以
不需要
你加取址符,你加了取址符,得到的结果也是 char (*) [6]。下面的score[j]是int 类型了,所以需要取址符。
C语言
数组
a[ ]什么
时候要
[ ]什么时候
不要
[ ]?
答:
你要知道
数组
与指针有一定的联系,数组名即可看作是指针即内存
地址
(是一串八进制或几进制的数字即常量且不能对它赋值),而数组名若是后面加上【】,则代表的是某个变量,变量可以对它赋值,你说的 int fun(char *a,b),表达有错误不能那样写,得写成nt fun(char *a,char b)可以用数组表示...
c语言的数组
前加&有什么用??
答:
&是取
地址符
,&xx[i][j+1]也就是得到xx[i][j+1]的地址,即它的指针,以便于在该函数中通过参数传递地址的方法,利用形参对原
数组的
值加以操作。
C语言中
scanf后面,什么情况下
不加
符号&
答:
函数返回值:scanf()函数操作成功时,返回成功赋值的数据项数,出错时则返回EOF。格式化字串一般包括 : %s(字符串) %
c
(单字符) %d(整数) %lf(double) %f(float) ,后面的argument一定要是
地址
类型变量,当变量名就是对应的指针变量时,就
不需要加
&符号了。 &是地址运算符,意思是获得...
C语言
问题,为什么字符型
不用加
取
地址符
,而double型
要
加取地址符?
答:
不用加
取
地址符的
是字符串型,而字符串名的实质其实是这个字
符数组
首字符的指针比如一个字符串str[10]="hello",其数据如下排列:str[0]---'h'str[1]---'e'str[2]---'l'str[3]---'l'str[4]---'o'str[5]---'\0'而我们向scanf传入的并不是单独某个字符,而是字符串名str 字符串...
c语言
字符串
输入
输出
用加
'&'吗
答:
不用加
。scanf的参数是指针。所以如果是
输入
int、double之类的,需要用&;但字
符数组
名本来就是个指针,所以不用加。printf
的时候
,输出int、double或字符串都不加&。
c语言中
char类型
数组
的输出问题--输出时为何
需要
&
符
?
答:
在
C语言中数组
的名字即数组的起始
地址
,也是数组第一个元素的地址。因此,假设有一个char类型的数组a表示成如下代码:char a[20];那么a表示字
符数组
的起始地址,它和&a[0]是一个意思。使用printf()输出字符数组a的内容:printf("%s\n", a);就等同于printf("%s\n", &a[0]);输出
的时候用
:...
C语言
4为什么
不加
取
地址符
号 求教
答:
因为
C语言中数组
的名称代表的就是她的地址,而%s对应需要的是
数组的地址
,比如a,它等价于&a[0]
c语言
取
地址的
规则是什么 为什么有些取
地址加
&有些
不加
答:
scanf("\t%s",s);这
不用加
&是因为s本身就是&s[0]s被定义为数组类型,数组名就是数组的首
地址
,所以s等同于&s[0]可以肯定的是,scanf
输入时
,格式占位符对应的必须是内存地址 另外,%s是输入字符串,而字符串在
C里面
就是字
符数组
,因此也只需要提供数组名(数组首地址)
为什么在
C语言中
在调用scanf()为字
符数组输入
字符串时,输入项是数组名...
答:
"&"表示取地址 scanf
输入
普通变量时,要求通知计算机输入变量所在
的地址
是多少,所有加&符号表示相应变量的地址;而输入字符串时,数组名恰好是字符串的首地址,或者说
数组的
首地址,所有只需要写数组名即可,
不需要加
&符号
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
c语言二维数组赋值
c语言数组定义和赋值
c语言输出字符串
c语言动态数组