c语言里n++和++n有什么区别

来源:百度知道 编辑:UC知道 时间:2024/05/12 19:56:28

无论前置还是后值,++ 都会使其操作数的值增 1。不同的是,++ 前置时,自增表达式(如 ++n)的值等于其操作数自增后的值;++ 后置时,自增表达式(如 n++)的值等于其操作数自增前的值。例如:

int n = 5, post = 1, pre = 1;
pre = ++n + pre; // 运算结束后 pre 为 7,n 为 6
n = 5;
post = n++ + post; // 运算结束后 post 为 6,n 为 6

上例中,++n 的值等于 n 自增后的值,即 6,所以 pre 最后得到的值为 7。n++ 的值等于 n 自增前的值,即 5,所以 post 最后得到的值为 6。

n=1;
a=n++;
这时a=1,n=2,就是说n++是先返回n的值,再n自加一
n=1;
a=++n;
这时a=2,n=2,就是说先n加一,再返回新的n
一个记的技巧:++n就是先加,n++就是后加~很形象的

n++是先把n用啦再把n+1,++n是先把n+1再用n