c语言中&&是什么运算

如题所述

1.
"按位与"
运算符.
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1
,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下:
00001001
(9的二进制补码)&00000101
(5的二进制补码)
00000001
(1的二进制补码)可见9&5=1。
按位与运算通常用来对某些位清0或保留某些位。例如把a
的高八位清
0

保留低八位,
可作
a&255
运算
(
255
二进制数为0000000011111111)。
main(){
int
a=9,b=5,c;
c=a&b;
printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}
2.
变量

求地址
运算符&
例如:int
a;
float
b;
scanf("%d
%f
",&a,&b);
a
是整型变量,b
是float
型变量,
输入语句的参数
规定要用变量
的地址表示,
所以
用了
&a
变量a的地址
,
&b变量b的地址.
3。
&&

逻辑运算符
逻辑

if
(
(a
>
b)
&&
(
a
>
c)
)
max
=
a;
双目运算,真
&&

得真;假
&&


假;假
&&

得假.
4.
&
也可以是字符

字符常数
"&&&"
--
双引号里的东西是
字符串
'&'
--
单引号里的东西是字符常量,是整数,数值等于
它的
ASCII

编码值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-10
&&是逻辑与(相当于其他语言中的AND)
比如:a&&b;若a和b都为真,则a&&b才为真。否则有一个为假都为假。
&是按位与。如果两个相应的二进制数都为1,结果才为1,否则都为0。
0&0=0,0&1=0,1&1=1,1&0=0。
比如:3&5=1
00000011(3)
00000101(5)
00000001(1)
相似回答