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

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

小欢互联19元/月起, 即日起至10月底 美国CERA 促销活动 美国/香港八折

小欢互联成立于2019年10月,主打海外高性价比云服务器、CDN和虚拟主机服务。近期上线了自营美国CERA机房高速VPS,进行促销活动,为客户奉上美国/香港八折优惠码:Xxc1mtLB优惠码适用于美国CERA一区/二区以及香港一区/二区优惠时间:即日起至10月底优惠码可无限次使用,且续费同价!官网:https://idc.xh-ws.com购买地址:美国CERA一区:https://idc.xh-...

ShineServers(5美元/月)荷兰VPS、阿联酋VPS首月五折/1核1G/50GB硬盘/3TB流量/1Gbps带宽

优惠码50SSDOFF 首月5折50WHTSSD 年付5折15OFF 85折优惠,可循环使用荷兰VPSCPU内存SSD带宽IPv4价格购买1核1G50G1Gbps/3TB1个$ 9.10/月链接2核2G80G1Gbps/5TB1个$ 12.70/月链接2核3G100G1Gbps/7TB1个$ 16.30/月链接3核4G150G1Gbps/10TB1个$ 18.10/月链接阿联酋VPSCPU内存SS...

Krypt($120/年),2vCPU/2GB/60GB SSD/3TB

Krypt这两天发布了ION平台9月份优惠信息,提供一款特选套餐年付120美元(原价$162/年),开设在洛杉矶或者圣何塞机房,支持Windows或者Linux操作系统。ion.kryptcloud.com是Krypt机房上线的云主机平台,主要提供基于KVM架构云主机产品,相对于KT主站云服务器要便宜很多,产品可选洛杉矶、圣何塞或者新加坡等地机房。洛杉矶机房CPU:2 cores内存:2GB硬盘:...

逗号运算符为你推荐
lazyloadphpwind中门户模式怎么使用lazyload图片加载?word打字后面的字消失word编辑文字的时候,后边的字就不见了怎么回事逗号运算符在C语言中逗号运算符有什么用呢?ucosiiucosii任务堆栈的作用是什么呢?exe文件打不开.exe文件打不开为什么实数的定义实数的概念是什么系统登录界面电脑用户登录界面,输入密码登不进去了,怎么解决,急蓝牙开发Android蓝牙开发代码怎么写?蓝牙开发android 蓝牙开发 ble 难吗赵锡成上海交大有什么好玩的
免费虚拟空间 日本动态vps 老左 idc评测 dd444 40g硬盘 有奖调查 hinet 电信虚拟主机 卡巴斯基免费试用版 百度云加速 lamp怎么读 lamp什么意思 万网服务器 godaddyssl winds cx域名 远程登录 压力测试工具 火山互联 更多