为什么在C语言的标题中使用'#'符号?为什么不是任何其他符号?

Riz*_*med -7 c c++ header

我想知道为什么C语言的标题包含'#'符号作为起始符号,为什么没有任何其他符号用于此目的?是否有任何理由,或者程序员只是随机选择它?

Mik*_*our 9

我猜这些要求是

  • 可用于时间的公共字符集(ASCII,EBCDIC,或许还有其他)
  • 语言没有使用,因此预处理器可以轻松识别其指令
  • 易于在标准美国键盘上打字

没有很多字符符合这些要求; #是一个.选择那个,而不是@或者$例如,可能是任意的.

  • 此外,那时它是ASCII(最好的).那时Unicode不存在 (2认同)

rat*_*eak 7

主要原因是#在C语法的其他地方没有使用它.这允许它用于(然后单独)预处理器.