2 daxiazaiwusi daxiazaiwusi 于 2016.03.06 09:16 提问

C语言运算符重叠的问题C语言运算符重叠的问题

C语言&和&&的区别是什么,*和**的区别又是什么

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.06 09:19
已采纳

&是位运算,&&是逻辑运算。
比如说 a=1 b=2 &&出来是true,但是&出来是0,就是false
是指针,也是乘法
*
是二级指针
一些语言中**表示乘方,但是C语言不支持。

u013596119
u013596119   Rxr 2016.03.06 10:37

补充楼上的

&:位运算, 比如a&b,a=1,b=2,二进制a 01,b 10,&就是二进制且运算,1&1=1,0&0=0,1&0=0,0&1=0,所以a&b=01&10=0
&&: 逻辑运算 and, true&&true=true,t&&f=f,f&&f=f

 *: 指针,或者乘号, int* p,p就是指针变量
 **: 二级指针,指针的指针
WinsenJiansbomber
WinsenJiansbomber   2016.03.06 11:07

&和&&涉及两种运行模式,位运算和逻辑运算; * 和 ** 只是指针的运算,一个星表示运算一次。太复杂的语法结构就不要用了,比如说 i+=i---i+++i这种,写完都没有人能理解。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!