计算 c 语句中的标记数

  • 本文关键字:语句 计算 c
  • 更新时间 :
  • 英文 :


以下 C 语句中的标记数。

print("℅d",a+=b);

谁能告诉我+=运算符应该被视为一个代币还是两个代币

根据 C11 标准 §6.4.6 标点符号,C 语言中的"标点符号"是:

[ ] ( ) { } . ->
++ -- & * + - ~ !
/ % << >> < > <= >= == != ^ | && ||
? : ; ...
= *= /= %= += -= <<= >>= &= ^= |=
, # ##
<: :> <% %> %: %:%:

如您所见,+=是标点符号之一 - 它是一个标记。

因此,您的语句中有 9 个令牌:

print("℅d",a+=b);
  1. print
  2. (
  3. "%d"
  4. ,
  5. a
  6. +=
  7. b
  8. )
  9. ;

在 C 源程序中,编译器识别的基本元素是"标记"。标记是编译器不分解为组件元素的源程序文本。

基本上,+=是一个速记运算符;编译器将其视为单个标记。

例如:

x+=10;
x = x + 10;

上述两个代码是相同的,在第一行代码中,编译器将+=视为一个标记,而在第二行中,它将=+视为两个标记。

有关 C 令牌的详细信息,请参阅Microsoft文档。

最新更新