n++和++ n有什么区别?

作者&投稿:蔡鱼 (若有异议请与网页底部的电邮联系)
~

一、运算顺序不同

1、n++:后执行自增运算。

2、++n:先执行自增运算。

二、内存顺序不同

1、n++:先访问参数n,之后将参数n加1。

2、++n:先将参数n加1,之后再访问参数n。

三、结果不同

1、n++:输出的结果为n。

2、++n:输出的结果为n+1。

特殊情况:

在同一条语句中,被操作的数出现多次是可以通过编译的,但是其在C++ Standard等语言标准中被定义为"Undefined behavior"(不确定的行为),即不同的编译器或编译器版本所编译得到的机器码可能不尽相同。

不推荐在同一条语句中使被操作的数出现多次,这不仅仅将导致程序的含义难以理解,可读性大幅降低,同时可能导致不同的编译器或编译器版本得到不同的结果。