首页 > 其他分享 >C语言-----前置++和后置++的不同

C语言-----前置++和后置++的不同

时间:2024-05-29 12:30:44浏览次数:22  
标签:优先级 后置 16 ++ c++ C语言 运算符 -----

#include <stdio.h>
int main()
{
    int a, b, c;
    a = 5;
    c = ++a;
    b = ++c, c++, ++a, a++;
    b += a++ + c;
    printf("a = %d b = %d c = %d\n:", a, b, c);
    return 0;
}


/*1、逗号运算符的优先级比赋值运算符=号的优先级低

2、++、+的优先级比+=高

3、多个+号在一起的时候,其优先级为后置++、+、前置++

      即a+++c,可拆分为(a++)+c

那么

代码中的运算顺序与a、b、c的值的变化为:

a=5

c=++a;//a=6,c=6

b=++c,c++,++a,a++;

//此处由于=号的优先级比逗号高,所以先将++c赋值给b,此时b=7,c=7

//c++使得c=8,++a使得a=7,a++使得a=8

b+=a++ +c;

//由于++、+的优先级比+=高,故先计算+=右边(a++ +c)的值,然后再去与b进行+=运算

//此处因为a是后置++,所以先把a的值拿出来,去与c相加,将相加的值去与b进行+=运算

先取出a的值8,8+c=8+8=16,此时再a自增由8变为9,那么有b+=16,即b=b+16=7+16=23

最终结果为:a=9,b=23,c=8
*/

标签:优先级,后置,16,++,c++,C语言,运算符,-----
From: https://blog.csdn.net/2301_80863610/article/details/139233526

相关文章

  • C语言---扫雷游戏的实现
    1.扫雷游戏的分析和设计需要创建3个文件夹test.c----扫雷游戏的测试game.c----扫雷游戏的实现game.h----扫雷游戏的实现雷的信息使用二维数组存放•使⽤控制台实现经典的扫雷游戏•游戏可以通过菜单实现继续玩或者退出游戏•扫雷的棋盘是9*9的格⼦•默认随机布置1......
  • ts拯救前端:优雅的在运行时校验后端接口返回数据类型 typescript-json-schema+ ajv
    包管理器:pnpm环境:node依赖:typescript-json-schema、ajv准备工作1、安装依赖pnpmaddtypescript-json-schemapnpmaddajv2、准备需要校验的数据类型//userType.tsexportinterfaceUser{id:string;token:string;nick?:string;}3、使用typescrip......
  • C语言中,指针的使用
    当使用C语言中的指针时,一些基本的用法和示例可以帮助更好地理解其用法。声明指针:   2.取地址运算符(&)和解引用运算符(*):   3.指针与数组:   4.指针与函数:   5.动态内存分配:6.指针与结构体:        在上面,我展示了指针在C语言中的基......
  • C语言中的函数
            在C语言中,函数是模块化程序设计的基本单元,允许将代码分解为可重用的部分。以下是我写的一些常见的函数用法以及相关的示例代码:函数声明和定义://函数声明intadd(inta,intb);//函数定义intadd(inta,intb){returna+b;}函数调用:intr......
  • 触摸芯片 TONTEK(通泰) TTP233H-HA6
    概述zTTP233H-HA6TonTouchTM是单按键触摸检测芯片,此触摸检测芯片内建稳压电路,提供稳定的电压给触摸感应电路使用,稳定的触摸检测效果可以广泛的满足不同应用的需求,此触摸检测芯片是专为取代传统按键而设计,触摸检测PAD的大小可依不同的灵敏度设计在合理的范围内,低功耗与宽工......
  • 大集合!!C语言指针知识要点大合集!!小白不要错过喔!!收藏这一篇就足够!!(1)
    指针!!是C语言最本质的特征,学好了指针才能算正式入门C语言喔!!如果你是C语言小白,看这篇文章就对啦!!✍什么是指针?在学习指针之前,我们要先了解内存。我们的代码在运行的时候,会把数据存放在哪里?放在内存里!内存地址内存就像是一栋大旅馆,这栋旅馆里有许多房间,每个房间有着不同的房......
  • AP9196 DC-DC升压恒流电源管理芯
    AP9196是一系列外围电路简洁的宽调光比升压调光恒流驱动器,适用于3-40V输入电压范围的LED照明领域。AP9196采用我司专利算法,可以实现高精度的恒流效果,输出电流恒流精度≤±3%,电压工作范围为5-40V,可以轻松满足锂电池及中低压的应用需求,输出耐压仅由MOS耐压决定。芯片内部有本司专利......
  • CSP历年复赛题-P1199 [NOIP2010 普及组] 三国游戏
    原题链接:https://www.luogu.com.cn/problem/P1199题意解读:人机轮流选将,电脑策略就是破坏可能和人已选能组成最大默契值的将,问人是否必胜,求出站的一对武将的默契值。解题思路:贪心题通常比较难以下手,经过分析,人肯定不可能选到每一行的最大默契值,因为电脑会破坏;进一步思考,那人能......
  • stm8系列--usart收发
     voidmain(void){Init_UART1();Init_Timer4();enableInterrupts();while(1){if(myusart.reflag>0){Com_Handle();//收到什么回复什么;myusart.recount=0;myusart.reflag=0;......
  • C++ - 结构体转cha*
    c语言结构体转cha*在C语言中,将结构体转换为char*通常意味着你想要获取结构体的内存表示,并将其视为字符数组。这种转换可以通过使用memcpy函数来实现。下面是一个简单的例子,展示了如何将结构体转换为char*: #include<stdio.h>#include<stdlib.h>#include<string.......