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

逗号运算符  时间: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因为第一个表达式的值为真、返回冒号前面的表达式!假值返回冒号后面的表达式的值

香港物理服务器 E5-2660v2 16G 500GSSD 增送20G防御 688/月 华纳云

#年终感恩活动#华纳云海外物理机688元/月,续费同价,50M CN2 GIA/100M国际大带宽可选,超800G 防御,不限流华纳云成立于2015年,隶属于香港联合通讯国际有限公司。拥有香港政府颁发的商业登记证明,作为APNIC 和 ARIN 会员单位,现有香港、美国等多个地区数据中心资源,百G丰富带宽接入,坚持为海内外用户提供自研顶级硬件防火墙服务,支持T B级超大防护带宽,单IP防护最大可达...

[黑五]ProfitServer新加坡/德国/荷兰/西班牙VPS五折,不限流量KVM月付2.88美元起

ProfitServer已开启了黑色星期五的促销活动,一直到本月底,商家新加坡、荷兰、德国和西班牙机房VPS直接5折,无码直购最低每月2.88美元起,不限制流量,提供IPv4+IPv6。这是一家始于2003年的俄罗斯主机商,提供虚拟主机、VPS、独立服务器、SSL证书、域名等产品,可选数据中心包括俄罗斯、法国、荷兰、美国、新加坡、拉脱维亚、捷克、保加利亚等多个国家和地区。我们随便以一个数据中心为例...

MechanicWeb免费DirectAdmin/异地备份

MechanicWeb怎么样?MechanicWeb好不好?MechanicWeb成立于2008年,目前在美国洛杉矶、凤凰城、达拉斯、迈阿密、北卡、纽约、英国、卢森堡、德国、加拿大、新加坡有11个数据中心,主营全托管型虚拟主机、VPS主机、半专用服务器和独立服务器业务。MechanicWeb只做高端的托管vps,这次MechanicWeb上新Xeon W-1290P处理器套餐,基准3.7GHz最高...

逗号运算符为你推荐
百度云论坛哪里需要资源网盘分流?论坛、网站介绍一个……sap是什么SAP系统具体是用来做什么的?数据管理制度简述系统运行管理制度的主要内容visa信用卡卡号信用卡卡号是多少位数地asp代码求ASP的代码没有nvidia控制面板没有nvidia控制面板怎么切换显卡tplink端口映射TPLINK路由器怎么设置端口映射无线呼叫系统什么是无线呼叫器?delphi2007delphi2007的数据库连接在那里?神经网络设计设计神经网络时为什么趋向于选择更深的网络结构
虚拟主机试用30天 免费注册网站域名 cn域名备案 新网域名解析 host1plus locvps 20g硬盘 12306抢票攻略 灵动鬼影 权嘉云 linux空间 刀片服务器的优势 linux服务器维护 搜索引擎提交入口 中国电信宽带测速器 台湾google 群英网络 重庆服务器 winserver2008r2 带宽测速 更多