c中是否有任何一元和二元的运算符?

时间:2014-06-03 22:50:09

标签: c unary-operator binary-operators

c中是否有任何一元和二元运算符?在一次采访中提出了这个问题。

3 个答案:

答案 0 :(得分:9)

星号(*)可用于解除引用(一元)或乘法(二元)。

&符号(&)可用于引用(一元)或按位AND(二进制)。

加号/减号(+/-)可用于识别/否定(一元)或加/减(二元)。

但是,正如其他人指出的那样,这些是不同运营商共享的符号。每个运营商只有一个n-arity。

答案 1 :(得分:5)

不,没有。每个运算符都是一元运算符,二元运算符或三元运算符。

一些一元和二元运算符碰巧使用相同的符号

  • *用于取消引用和乘法
  • -用于否定和减法
  • +用于身份和添加
  • &表示地址和按位“和”

但是,一元和二元*仍然是不同的运算符,恰好以相同的方式拼写。

答案 2 :(得分:2)

我认为只有.运算符在C中是一元和二元的(未在标准中指定):

.: - 一元:designators个结构 - {.meber1 = x, .member3 = z}(C99和后者)。二进制:访问结构成员。


C中没有运算符,它也是一元和二元的 符号 ,如+-*&,用作一元和二元运算符,但随后这些符号被视为不同的运算符

  1. +-一元:i = -1 j = +1。二进制:i = i+1j = j+1
  2. *一元:解除引用运算符。二进制:乘法运算符。
  3. &一元:参考运算符。二进制:按位AND运算符。