c语言学习总结

逗号表达式与自增自减

自增自减

b = a++ 等价于 b = a; a = a+1;

b = ++a 等价于 a= a+1; b = a;

逗号表达式

一般形式:e1,e2,e3,.....,en

  • 逗号是一个多目运算符,且优先级最低,而且是左结合,又称为顺序求值运算符,依次运算e1,e2.....,en

  • 整个逗号表达式的值为最后一个en的值

  • 逗号表达式与函数中参数的区别:

    printf("d%, d%, d%", a, b, c); // 三个值从右往左运算
    printf("d%",( a, b, c)); // 三个值从右往左运算
    

eg:

int sum = num = 7;
sum = ++num, ++num;

上式最终num = 9 sum = 8,因为赋值运算符的优先级高于逗号表达式,所以第一个++num运算完后,就赋值给了sum。

改成如下,则sum的值为9:

int sum = num = 7;
sum = (++num, ++num);

注意: 遇到计算结果与预期明显不符的情况,可以先检查是否优先级理解错误,通常都是优先级搞错。

常引起问题的有逗号运算符与赋值运算符、&作为取址运算符和&作为位运算符的两种情况

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 介绍 C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器...
    Leon_520阅读 4,282评论 0 3
  • 数据类型转换: 1.当赋值符号两边的数据类型不同的时候,数据类型转换是自动的,不需要程序员插手 当给 int 类型...
    Munin_阅读 4,262评论 0 2
  • 看W3C学ios开发,里面讲学ios开发钱必须先学会C语言开发,所以了解了一下C语言,以前上大学的时候也没学过C语...
    Lost_Robot阅读 3,959评论 0 0
  • 学习总结 一、浮点型: C语言中浮点型对应数学中的小数。浮点型有float和double两种。使用方式相同,不同在...
    智能化之路阅读 5,241评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,745评论 28 53

友情链接更多精彩内容