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

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

搬瓦工VPS:新增荷兰机房“联通”线路的VPS,10Gbps带宽,可在美国cn2gia、日本软银、荷兰“联通”之间随意切换

搬瓦工今天正式对外开卖荷兰阿姆斯特丹机房走联通AS9929高端线路的VPS,官方标注为“NL - China Unicom Amsterdam(ENUL_9)”,三网都走联通高端网络,即使是在欧洲,国内访问也就是飞快。搬瓦工的依旧是10Gbps带宽,可以在美国cn2 gia、日本软银与荷兰AS9929之间免费切换。官方网站:https://bwh81.net优惠码:BWH3HYATVBJW,节约6...

Hostodo(年付12美元),美西斯波坎机房Linux VPS主机66折

Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...

VPSDime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...

逗号运算符为你推荐
网页图片显示不出来本地保存的网页,再打开图片显示不出来怎么办drainage排水承泄区指什么?lazyloadjquery.pjax.js 应该怎么用?oracle11g下载如何安装oracle11g客户端apple以旧换新苹果手机以旧换新 是怎么换的什么要求巴西时区巴西与中国的时差是多少visio使用教程如何使用visio2013如何绘制UML图小蓝条我现在使用的是迅雷7、看空间的时候总会出现一个小蓝条写着下载,总是误点然后迅雷就弹出来了怎么解决?数据管理制度求一份工时定量管理制度文件系统格式系统盘用什么格式好
中国万网域名注册 php空间租用 3322动态域名 香港ufo singlehop winhost 国外idc 轻博客 双11抢红包攻略 国外网站代理服务器 网通ip 炎黄盛世 softbank邮箱 免费全能主机 昆明蜗牛家 七夕快乐英语 cloudlink www789 dnspod 服务器维护 更多