为什么C语言中有时需要&符号,有时又不需要这个符号?
首先要明确&的作用。如果是函数中的参数的话,这涉及到按值传递和按地址传递。举个例子,我们编写一个交换a与b位置的过程函数swap;我们可以这么声明:void swap(int a,int b);我们还可以这么声明void swap(int &a,int &b);这连个函数有什么区别呢。首先看第一个声明;(1)void swap(int a,i...
在C语言中,结构体成员的引用为什么有时候可以不用“&"?
你在前面定义结构体时应该把name定义为一个字符型数组,如char name[10];因为姓名是用字符串表示的。应填为:stu[i].name,&stu[i].num,&stu[i].age.第一个不能用&,因为数组名name就代表了该数组的首地址,而&就是一个取地址符号,所以不需再用&,而后面的num,age都只是整型变量,所以要...
c语言 scanf函数()里 什么时候可用& 什么时候不用??
这里所说的其实就是一个地址 所以当变量是一个指针或者表示一个地址时就不中& &就是求地址的运算符 如数组名是数组第一个元素的地址 所以数组名就可以不用加&进行运算 比如 int a;int *p=&a;scanf("%d",p);则不需要使用&运算符
C语言什么时候用&这个符号
该用的地方用啊,这个符号有好几个含义。1. 取地址,取得某个变量的地址, 这与* 相反。2 按位与运算 按二进制来表示,两位都为1,结果才为1 比如 0011 & 0101 =0001 3 && 代表逻辑与,也就是条件表达式里面并且的意思。比如 x大于5 并且是2的倍数,可以这样表示 x>5 && x%2...
c语言程序设计中什么时候用& 什么时候用&&?
当你要表示 小数的时候就需要用 float了啊。。int 和 long 都是表示整型的 float 和 double 都是表示浮点型的 也就是 小数 float的表示的范围要比double小
C语言,为什么数组那里要用&,数组不是不用吗?
数组本身是不用的,因为数组本身就是属于引用类型的,用数组名字代表的是整个数组,而不能代表单个的元素,这几年明显是输入其中一个值得,所以就正常的输入一个特定类型的值,需要用取地址符号。
C语言中什么时候需要用到符号&
& 是取地址符号!当从键盘输入一个数据到内存单元时,先找到内存单元的地址,再将数据放到内存单元中 例如:int a;\/\/定义一个整型变量a,给它分配一个内存空间 scanf("%d",&a); \/\/从键盘输入数据,找到a的地址放进去。&(取地址符号)在指针中用到比较多 例如:int *p=&a;\/\/定义一个指针...
c语言中&的作用是什么?
1、取地址符& 一般用C语言定义一个变量,这个变量都会对应一块存储空间,这个存储空间有一个地址。如果你想过得这个地址,就要使用&符号。&后面跟变量名,就可显示该变量在内存中的地址。2、位运算符& 在这里&表示按位与,表示参加运算的两个数据,按二进制位进行“与”运算。两位同时为“1”,结果...
c语言中 如scanf("%d",&a)为什么要加& 而printf(“%d",a+b)里却没有...
这个符号"&",是取地址运算符,由于scanf是输入函数,所以在输入时,一定要告诉计算机这个东西往哪存储,所以就要把程序员想存储的地址先取出来,然后在往这个地址里输入内容。而printf是标准输出函数,就是在显示器上把要显示的东西给显示出来,所以都是在显示器上显示,不用什么取地址符号。%f表示浮点型...
...有个问题如下图所示,为什么一个printf不用&符号,一个又要?_百度知...
&ch1表示对char类型取地址,最终类型为char*(c类型字符串),printf用%s来输出char*语法上没有问题 但是这个代码有个严重bug,用%s输入的char*必须用\\0结尾,这个程序估计要crash 正确写法应是printf("%c\\n",ch1);