前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >逗号表达式与 “++“ , “--“的 “爱恨情仇”~~~

逗号表达式与 “++“ , “--“的 “爱恨情仇”~~~

作者头像
The sky
发布2023-04-12 14:17:25
4860
发布2023-04-12 14:17:25
举报
文章被收录于专栏:C++的逆袭之路
                                                                                                                                   

逗号表达式,++,--,是什么?

逗号表达式:

       简单来说就是,逗号表达式是C语言提供一种特殊的运算符——逗号运算符。它的优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。那么可能有同学就会这么想,但如果这样子的话,是不是我直接就可以看最右边的式子,然后算出它的表达式结果不就好了吗??

     所以就与今天的主题,++和--联系起来了!!!!!

“ ++ ” 和 “ -- ”  操作符:

         i++  是先赋值再运算+1;++i  是先运算+1再赋值;

          i- -   是先赋值再运算-1; - - i  是先运算-1再赋值;


详细步骤

一、从简单实例理解

 i ++

  ++ i

同理可得,--i和i--是一样的操作!!

二、从复合实例理解

      在理解和差不多摸清自增和自减以后,让我们升级难度,来结合逗号表达式进行更深度的理解和加深印象!!   

代码语言:javascript
复制
a++ && ++b && d++
前置++,先使用,再+1,所以此时a++的值为1,但是a本身在使用过后还会加1,所以,此时a=2.

后置++,先+1,再使用,所以此时++b的值为3,b会加1,所以b的值为3.

同理可得!!
代码语言:javascript
复制
#include<stdio.h>
int main()
{
a=5;
c=++a;
//前置++,先++,再使用;所以c=6,此时a=6;
b=++c,c++,++a,a++;

//逗号表达式从左往右算,观察并计算此时a,b,c的值。
//++c,前置,所以此时c=7;
//c++,后置,所以此时(c++)整体为7,c=8;
//++a,前置,所以此时a=7;
//a++,后置,(a++)为7,但是a=8;
//b的值为,逗号表达式的最右边,b=7。

b+= a++ + c;
//+=和+的优先级,+大于+=,所以(a++)为8;但a=9;
//a++ + c值为8+8=16;
//b+=即b=b+16
//      =7+16
//      =23
printf("a= %d b=%d c=%d",a,b,c);
                         =9 =23 = 8
return 0; 
}

 所以,学到这里,肯定恍然大悟吧!!

赶快趁热打铁,多多加深印象吧!!!


总结

 所以在算有逗号表达式的时候,有的时候不能直接算最右边的表达式的值,还需要观察和计算其他表达式的值,正是自增,自减时,变量值的变化!!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 逗号表达式,++,--,是什么?
  • 详细步骤
  • 一、从简单实例理解
  • 二、从复合实例理解
    •       在理解和差不多摸清自增和自减以后,让我们升级难度,来结合逗号表达式进行更深度的理解和加深印象!!   
    • 总结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档