逗号运算符逗号运算符详解

逗号运算符  时间:2021-08-02  阅读:()

关于逗号运算符的问题?

逗号表达式顺序执行,其值为最后一个表达式的值。

所以:i=3*4,i*4,i+10三个表达式先后执行,((i=3*4,i*4),i+10); 的值为执行后i+10的值。

i=3*4的时候,i=12,然后i的值没有改变,i+10就等于 22,被赋给i,所以i就是22

请问C语言里逗号运算符有什么用?

C语言中,逗号既可作 分隔符 ,又可作 运算符。

(1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数; 例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说明语句中的变量, printf ("%d %d",x,y);用于间隔函数中的参数; (2)作为 运算符 使用时,将若干个独立的表达式连接在一起,组成一个逗号表达式。

其形式为: 表达式1,表达式2,表达式3,……,表达式n 运算过程:从左向右执行, 先计算 表达1 的值,再计算 表达式2 的值,依次往后计算,直到计算出表达式n 的值 作为 1到n 整个表达式的 值, 其 值 的类型和 表达式n 的类型相同 。

在使用过程中注意一点: 逗号作运算符使用时,它的 优秀级 是所有运算符中最低的,即 最先执行 逗号运算。

例如: int x=14,y=5; y=((x=3*y,x+6),x-1); printf ("x=%d,y=%d",x ,y); 这个程序的执行结果: x=15,y=14 执行语句 y=((x=3*y,x+6),x-1);时,最外层的括号里面是一条 逗号 语句,把这个逗号语句的值 赋给 y,由于是按从左向右的顺序执行,即先执行 里面一层的 括号,而里面这层 依然是一个 逗号表达式,在这里层 中 依然按从左向右的顺序执行,先执行x=3*y , 执行后 x的值为15,然后执行 x+6, 其值为21 , 里层括号执行完毕 ,得到 里层括号的值为 21,最后执行 x-1,为14,将 14 这个值作为最终结果 赋给 y ; 得到程序最终结果,x值为15,y值为14。

C语言 逗号运算符和逗号表达式

说出来也许你很困惑 y=(x=a+b) 这里,把a+b的值赋给x 然后再把x赋给y 然后输出 y=(x=a+b),(b+c); 再看这个, a,b,c都赋有初值 并不是变量 一旦把常量赋给变量后,就不需再把逗号后面的常量赋给前面的变量了 如果是这样 y=(x=(a+b),x*5) 那么y就等于30,x=6了

逗号运算符详解

逗号运算符就是无论有多少表达式、最后的值是最后一个表达式的值! 例如:(3>2):67;5 返回值就是67因为第一个表达式的值为真、返回冒号前面的表达式!假值返回冒号后面的表达式的值

BuyVM老牌商家新增迈阿密机房 不限流量 月付2美元

我们很多老用户对于BuyVM商家还是相当熟悉的,也有翻看BuyVM相关的文章可以追溯到2014年的时候有介绍过,不过那时候介绍这个商家并不是很多,主要是因为这个商家很是刁钻。比如我们注册账户的信息是否完整,以及我们使用是否规范,甚至有其他各种问题导致我们是不能购买他们家机器的。以前你嚣张是很多人没有办法购买到其他商家的机器,那时候其他商家的机器不多。而如今,我们可选的商家比较多,你再也嚣张不起来。...

RackNerd :美国大硬盘服务器促销/洛杉矶multacom数据中心/双路e5-2640v2/64G内存/256G SSD+160T SAS/$389/月

大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

逗号运算符为你推荐
php开发工具php开发工具有哪些图像识别算法搞算法(图像识别,深度学习)必须要懂C/C++吗seasonalholiday 和weekend seasonal activities 有什么区别中国银行卡号中行卡号有多少位?有12位的么?spinmaster谁发明的汪汪队立大功这个动画片廖华rcd后的中性线可以接地对吗 南京廖华移动硬盘提示格式化我要打开可移动磁盘 为什么显示格式化射击类网络游戏求一些射击类的网络游戏网络游戏加速器网络游戏什么加速器好用?delphi2007delphi 7和delphi 2007中查找哪些地方调用了某个函数
域名注册godaddy 服务器租用托管 域名备案信息查询 hostigation enzu 加勒比群岛 BWH la域名 网站监控 申请个人网页 dux vip域名 台湾谷歌 安徽双线服务器 美国独立日 申请网站 starry 国外的代理服务器 photobucket 万网注册 更多