执行n ++后的奇怪答案

Joh*_*nes 6 c#

执行以下代码片段后,为什么int d 25而不是26的值?

int n = 20;
int d = n++ + 5;

Console.WriteLine(d);
Run Code Online (Sandbox Code Playgroud)

Ric*_*dle 10

n++是"后增量运算符",它仅在周围表达式中使用其初始值递增该值.

您的代码相当于:

int d = n + 5;
n = n + 1;
Run Code Online (Sandbox Code Playgroud)

在使用其值之前递增值,请使用++n预增量运算符.

  • +1 用于打破等效的 surgarless 语法。 (2认同)