C语言 i++和++i的区别

i++和++i的区别

i++和++i都是c语言里的自增,但是它们自增的顺序不同

那么,它们到底有什么区别呢?

 

话不多说,直接上代码

 

//++i和i++的区别 
#include <stdio.h>

int main()
{
    //① 
    int i=2; 
    i++;
    printf("%d\n",i);      //3
    
    //② 
    int i1=2;
    ++i1;
    printf("%d\n",i1);    //3
   
    //③ 
    int i2=2;
    int j2 = i2++;           
    printf("%d\n",j2);      //2    因为在给某一个变量赋值的时候,i++ 就是先自增,返回增加之前的值。
    printf("%d\n",i2);     //3
    
    //④ 
    int i3=2;
    int j3 = ++i3;
    printf("%d\n",j3);      //3    先增加,返回增加之后的值。 
    printf("%d\n",i3);      //3
    
    
    //⑤ 
    int i4=2;
    printf("%d\n",i4++);   //2
    
    //⑥ 
    int i5=2;
    printf("%d\n",++i5);    //3 
    
    
    //⑦ 
    int a=0,b=9;
    a++&&b++;
    printf("%d\n",b);    //9   因为a++先增加返回增加之前的值等于0  0&&0和0&&1都得0,所以后面不执行,所以不增加 
    
    //⑧ 
    int a1=0,b1=9;
    ++a1&&b1++;
    printf("%d\n",b1);     //10    ++a1先增加返回增加之后的值   
    
    
     
    /*
       总结来说, i++和++i 在给变量赋值(例③和④)或者在打印输出语句中直接使用(例如⑤和⑥)遵循  
                                                                                        i++ 先增加 返回增加之前的值 
                                                                                        ++i 先增加 返回增加之后的值
                                                                                         
                                                                                         
       而当i++和++i 单独出现使用时(例如①和②),无论怎样都会加1; 
           
     */
    return 0; 
}

我们可以看下控制台输出的结果

C语言  i++和++i的区别

 

   总结来说

i++和++i 在给变量赋值(例③和④)或者在打印输出语句中直接使用(例如⑤和⑥)遵循  
                                                                         i++ 先增加 返回增加之前的值 
                                                                         ++i 先增加 返回增加之后的值
                                                                                         
                                                                                         
而当i++和++i 单独出现使用时(例如①和②),无论怎样都会加1; 

 

上一篇:jquery插件-表单验证插件-提示信息中文化与定制提示信息


下一篇:Qt--内存回收机制