c语言&和&&有什么不同?

请问有什么不同呀?

区别:

1.运算符性质不同。

&是一个位运算符。

&&是一个逻辑运算符。

2.作用不同。

&是将两个二进制的数逐位相与,结果是相与之后的结果。

&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。

3.用途限制。

&除了是一个位运算符,也是取地址符。

&&就是一个单纯的逻辑运算符,没有任何其他含义。

参考资料

&-百度百科

&&-百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-08
C语言中,&是指针运算符,&&是逻辑运算符,&a 指的是变量a的物理地址,而&&相当于其他语言中的AND,是逻辑与的意思!
第2个回答  推荐于2018-04-16
&是按位与运算,比如a=6,b=5,表示成二进制数
a: 0110 b: 0101
a&b = 0100
逐个位进行与运算

当然如果放在一个变量前面可以为取地址的意思,如:&a,就是取a的地址

&&是逻辑与,比如:真&&真 为 真本回答被提问者和网友采纳
第3个回答  2012-02-08
楼主问的是C和C++吧,C是面向过程的,C++的面向对象的追问

我问的是c语言的运算符&和&&有什么不同

追答

那我理解错了 你是说运算符&按位与 &&逻辑与
&按位与运算:
数据的补码形式对应位 同为1则为1 否则为0
比如 1101&1011=1001
&&逻辑与运算:

C语言中规定0为假,非零为真,当两个真进行逻辑与运算结果为真,否则为假

第4个回答  2012-02-08
......追问

我真的不知道啊- - !

相似回答