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; 
}

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

 

   总结来说

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM