C语言提供一种特殊的运算符——逗号运算符。用它将两个(或多个)表达式连接起来。

如:3+5,6+8

上式称为逗号表达式。逗号表达式的一般形式为

表达式1,表达式2

逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值

例如,上面的逗号表达式“3+5,6+8”的值为14。

又如,逗号表达式a=35,a4,对此表达式的求解,赋值运算符的优先级别高于逗号运算符, 因此应先求解a=35,经计算和赋值后得到a的值为15,然后求解a4,得60,整个逗号表达式的值为60(a仍为15)。

再如,一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=35,a4),a+5 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。

逗号表达式的一般形式可以扩展为

表达式1,表达式2,表达式3,……,表达式n

它的值为表达式n的值。

逗号运算符是所有运算符中级别最低的。因此,下面两个表达式的作用是不同的:

① x=(a=3,63)
  ② x=a=3,6
a

第①个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。

第②个是逗号表达式,它包括一个赋值表达式和一个算术表达式,x的值为3。

其实,逗号表达式无非是把若干个表达式”串联“起来。即逗号表达式纯粹就是为了在只能写一条表达式的地方写多条表达式而设计的,根据C++ Primer,用得最多的地方就是for循环。

(,)的用法逗号表达式相关推荐

  1. C语言while循环中逗号表达式的用法(以及怎么读入引号中有空格的字符串!!!)

    文章目录 引言 解决方法 总结 引言 今天在刷算法题的时候,遇到点儿问题: 对于如下的m组数据: name "David Beckham" email "david@be ...

  2. 逗号表达式 java_逗号表达式的用法

    好久没有因为程序的魅力而发出这样的感慨和兴奋了,从接触C语言到C++,再到Java,当然还接触过许多其他乱七八糟的语言,一直都知道有个逗号表达式,但是从来都没有用过,除了在for语句中不疼不痒的用过几 ...

  3. C语言--逗号运算符及逗号表达式

    逗号运算符及表达式 一.用法概述 C语言中","也是一种运算符,称为逗号运算符.其功能是将两个或多个表达式连接起来组成一个表达式.具体形式如下: 表达式1,表达式2,表达式3,.. ...

  4. c语言 逗号表达式,c语言逗号表达式的运算规则_后端开发

    c语言程序的调试方法_后端开发 c语言程序的调试方法:1.先进行人工检查,即静态检查:2.在人工检查无误后,再上机调试:3.改正语法错误得到可执行目标程序,运行程序,看结果是否符合预期:4.不符合预期 ...

  5. c语言 逗号表达式的作用,关于c语言逗号表达式的运算规则知识点

    c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8. 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一 ...

  6. c语言 表示逗号的字符串,c语言逗号表达式的运算规则

    c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8. 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一 ...

  7. C语言中的逗号的作用,C语言逗号运算符和逗号表达式基础总结

    逗号运算符的作用: 1,起分隔符的作用: 定义变量用于分隔变量:int a,b 输入或输出时用于分隔输出表列 printf("%d%d",a,b) 2,用于逗号表达式的顺序运算符 ...

  8. c语言等号 逗号,C语言逗号运算符和逗号表达式

    在C语言中逗号","也是一种运算符,称为逗号运算符. 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式.其一般形式为:表达式1,表达式2 其求值过程是分别求两个表达式的 ...

  9. 逗号表达式 java_c和java中问号表达式与逗号表达式问题

    C语言中的问号表达式. --?--:-- 式A?B:C值为:若A为真,则B:若A为假,则C. 但有一点是值得注意的,那就是问号表达式的结合性,问号表达式是从右往左的运算方向 尤其是当问号表达式嵌套使用 ...

最新文章

  1. OKR什么意思?是时候建立一本“OKR字典”啦
  2. 30百度人撑起自动驾驶半壁江山
  3. Pycharm那些隐藏的实用小技巧,yyds!
  4. will not add file alias already exists in index(git上传代码出错)
  5. 【图像超分辨率】Perceptual Losses for Real-Time Style Transfer and Super-Resolution
  6. ObjC学习2-语法循环、条件,原来像学C语言一样啊!
  7. 加快网站速度的最佳做法_(4)避免使用css表达式
  8. vfp 连接mysql数据库,vfp数据库的asp连接
  9. QQ坦白说v1.1 软件 源码 解析
  10. 拉扎维模拟CMOS集成电路设计python建模工程——利用matplotlib绘制NMOS与PMOS转移特性曲线
  11. 根据银行卡号获取银行名称
  12. 电商十四、pinyougou02.sql的内容⑤
  13. C++Builder的基本功能
  14. 还在用老办法扫描?纸质文档变电子文档,手机这个功能一键搞定!
  15. 计算机组成原理基础知识点
  16. mysql存储过程 根据查询的结果集向表中插入数据
  17. 精美的文言文表白,一起体会吧!
  18. Python编程基础 第二章 编程练习 (第2轮开课补充)编写程序实现以下功能:计算beg到end之间的所有水仙花数并输出。如果beg到end之间不存在水仙花数,则输出“not found”。
  19. DC/DCT/DCG 差别和联系
  20. Android获取手机屏幕像素大小

热门文章

  1. 计算机控制系统++康波,计算机控制系统(康波)第3章习题部分参考解答12[1]
  2. MySQL While循环语句
  3. 31.进程管理之进程概览,及ps命令详解,ps -ef,ps aux,ps -le,ps -l输出详解和示例
  4. 《卓有成效的管理者》——学习心得(一)
  5. 利用Python在互动吧网站自动抢票实战分析!你学废了吗
  6. 【计算机网络】Linux环境中的TCP网络编程
  7. P3224 [HNOI2012]永无乡 FHQ-Treap 启发式合并
  8. js中onsubmit用法
  9. 12星座超级独家!通过星座完美你自己!不断加新中……
  10. mac玩rust用什么画质_Steam Mac/Windows游戏性能、画质对比