Live2D








添加博客顶部博主信息

(*^▽^*)欢迎来到我的博客(*^▽^*)

添加顶部滚动信息(公告)
任何一个伟大的目标,都有一个微不足道的开始。

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; 

 

posted @   赛罗丶  阅读(1128)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示