C语言中的&是什么意思

如题所述

在C语言中,&有三种作用,分别如下:
1.
取地址。单目运算符。用来取一个变量的地址。
比如
int
i,
*p;
p
=
&i;//这里的&作用是取变量i的地址。
2.
位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
比如
0x12&0x23
转为二进制为:
B00010010&B00100011,
按位计算结果为B00000010,
即结果为0x02。
3.
当两个&&一起用的时候,表示为逻辑运算中的与运算
逻辑运算结果只有0和1两种结果。
一般在&&两边是两个逻辑表达式
当两个表达式值均为1时,&&运算结果为1,否则为0。
比如
2>1
&&
0<1
这个的值为1&&1
=
1。
1>2
&&
2>0
这个值为0&&1
=
0。
1>2
&&
2>3
这个值为0&&0=0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-31
就是交换值的意思了。
scanf("%f,
%f",
&a,
&b);录入a,b的值,&符号即为这个变量的地址。
t
=
a;把a的值赋予变量t;
a
=
b;把b的值赋予变量a;
b
=
t;把t的值再赋予变量b;
从而a,b的值就交换。
printf("%5.2f,
%5.2f\n",
a
,b);
显示a,b
的值
建议去看C语言基础教材,这问题太基础了
第2个回答  2019-05-29
这个是c语言的一个三目运算符
?:
意思是先判断?前面的表达式的逻辑值是否为真,如果为真,则取冒号前面的表达式的值为整个表达式的值,如果为假,则取冒号后面的表达式的值为整个表达式的值。
这里是少一个括号,具体应该这样:
(w

评论
0

0

加载更多
第3个回答  2019-08-16
你好!
等你学了指针就知道了。
&是取地址符号。
&a就是int
a这个变量的地址,也就是int*指针。
如果看不懂这句话,那么就慢慢来,等学了指针再来看。
然后
等学了形参传值和传指针区别后,再来看这个函数,就彻底明白了。
仅代表个人观点,不喜勿喷,谢谢。
第4个回答  2019-06-29
scanf和printf都是stdio.h标准输入输出函数库里的函数。
scanf("%f,
%f",
&a,
&b);
这一句是说输入两个单精度的实型并赋值给a,b。
&a,
&b前边的&符的意思是:取地址。因为scanf在调用时
只能使用地址。(scanf中要求给出变量的地址)
相似回答