n++和++n的区别

C语言中n++和++n的区别

  1. n++是先使用n的数值再自加一; ++n是先自加一再使用n累加后的数值;
  2. 作为for语句括号内的第三项,是在每次for循环之后做的累加,n++与++n的作用都是使n的数值增一,不牵扯到引用自加前还是自加后数值的问题,所以二者在for语句中没有区别。
  3. 无论前置还是后置,++ 都会使其操作数的值加 1。不同的是,++ 前置时,自增表达式(如 ++n)的值等于其操作数自增后的值;++ 后置时,自增表达式(如 n++)的值等于其操作数自增前的值。

举个栗子:
int n = 2, post = 1, pre = 1;
pre = ++n + pre; // 运算结束后 pre 为 4,n 为 3
int n = 2, post = 1, pre = 1;
post = n++ + post; // 运算结束后 post 为 3,n 为 3
上例中,++n 的值等于 n 自增后的值,即 3,所以 pre 最后得到的值为 4。n++ 的值等于 n 自增前的值,即 2,所以 post 最后得到的值为 3; 无论是n++还是++n. n最终的值都是3。

你可能感兴趣的:(笔记,C语言程序设计)