C语言中&和&&有什区别?
2个回答
展开全部
C语言中&&是关系运算,是双目运算符。
运算符左右两边都需要表达式,&&在关系运算中表示“与”,比如m == 1 && n == 2,m == 1和n == 2同时为真,表达式就为真,否则为假。
而&即是双目又是单目。双目时表示“与”运算,0xff & 0xff将两边数值按位求与,最后得出结果单目是表示取地址。
C语言特点:
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
展开全部
在C语言中,&和&&是两个不同的运算符,具有不同的作用。
&是按位与运算符,它将两个操作数的二进制表示进行逐位比较,如果对应位上的值都为1,则结果为1,否则为0。例如,表达式`15 & 7`的结果为3,因为15的二进制表示为1111,7的二进制表示为0111,它们进行按位与运算后得到0011,即3。
而&&是逻辑与运算符,它用于组合两个逻辑表达式,如果两个表达式的值都为真(非零),则结果为真(非零),否则结果为假(0)。例如,表达式`a > b && b > c`表示当a大于b且b大于c时,整个表达式的值为真。
所以,&和&&这两个运算符虽然看起来相似,但是它们的作用不同。&主要用于位运算,而&&主要用于逻辑运算。
&是按位与运算符,它将两个操作数的二进制表示进行逐位比较,如果对应位上的值都为1,则结果为1,否则为0。例如,表达式`15 & 7`的结果为3,因为15的二进制表示为1111,7的二进制表示为0111,它们进行按位与运算后得到0011,即3。
而&&是逻辑与运算符,它用于组合两个逻辑表达式,如果两个表达式的值都为真(非零),则结果为真(非零),否则结果为假(0)。例如,表达式`a > b && b > c`表示当a大于b且b大于c时,整个表达式的值为真。
所以,&和&&这两个运算符虽然看起来相似,但是它们的作用不同。&主要用于位运算,而&&主要用于逻辑运算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询