C 中 i++ 与 ++i 有什么区别

#include <stdio.h>

int main(int argc, char **argv) {
    
    int i=1;
    
    printf("i++= %d\n",i++);
    
    i=1;
    printf("++i= %d\n",++i);
    
    
    i=1;
    i=i+1;
    
    printf("i=i+1 ,则i= %d\n",i);

    return 0;
}

i++= 1
++i= 2
i=i+1 ,则i= 2
1、首先,单独拿出来说++i和i++,意思都是一样的,就是i=i+1。
2、如果当做运算符来说,就是a=i++或者a=++i这样的形式。情况就不一样了。先说a=i++,这个运算的意思是先把i的值赋予a,然后在执行i=i+1;而a=++i,这个的意思是先执行i=i+1,然后在把i的值赋予a;举个例子来说,如果一开始i=4。那么执行a=i++这条语句之后,a=4,i=5;那么执行a=++i这条语句之后,i=5,a=5;同理,i--和--i的用法也是一样的。

猜你喜欢

转载自blog.csdn.net/luoganttcc/article/details/113806998