c中是否有任何一元和二元运算符?在一次采访中提出了这个问题。
答案 0 :(得分:9)
星号(*)可用于解除引用(一元)或乘法(二元)。
&符号(&)可用于引用(一元)或按位AND(二进制)。
加号/减号(+/-)可用于识别/否定(一元)或加/减(二元)。
但是,正如其他人指出的那样,这些是不同运营商共享的符号。每个运营商只有一个n-arity。
答案 1 :(得分:5)
不,没有。每个运算符都是一元运算符,二元运算符或三元运算符。
一些一元和二元运算符碰巧使用相同的符号:
*
用于取消引用和乘法-
用于否定和减法+
用于身份和添加&
表示地址和按位“和”但是,一元和二元*
仍然是不同的运算符,恰好以相同的方式拼写。
答案 2 :(得分:2)
我认为只有 .
运算符在C中是一元和二元的(未在标准中指定):
.
: - 一元:designators个结构 - {.meber1 = x, .member3 = z}
(C99和后者)。二进制:访问结构成员。
C中没有运算符,它也是一元和二元的
符号 ,如+
,-
,*
和&
,用作一元和二元运算符,但随后这些符号被视为不同的运算符:
+
,-
一元:i = -1
j = +1
。二进制:i = i+1
,j = j+1
*
一元:解除引用运算符。二进制:乘法运算符。 &
一元:参考运算符。二进制:按位AND
运算符。