码迷,mamicode.com
首页 > 其他好文 > 详细

逗号表达式的分析

时间:2017-10-04 15:53:50      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:逗号运算符   div   fun   直接   返回   分析   nbsp   优先级   过程   

fun函数返回的a值和传入的a值无关,每次循环得到的k值和上一次循环也无关,所以直接看最后一次循环结果就好。
结果的关键在于逗号表达式 a=(c++,b++); 看了大家的解析,想要提一点,以下两个表达式结果是不同的:
  1. a=(表达式1,表达式2);
  2. a=表达式1,表达式2;
因为逗号运算符在所有运算符中优先级最低,所以表达式(2)实际上执行过程为 (a=表达式1),表达式2; 所以这道题中:
  1. 若 a=(c++,b++); 则a=0,因为逗号表达式为(c++,b++),这个表达式的结果是0,并将这个结果赋值给a;
  2. 若 a=c++,b++; 则a=4,因为逗号表达式为(a=c++,b++),这个表达式结果为0,但赋给a的值是自加前的c值;
下面简单讲下逗号表达式是什么鬼:
逗号表达式的形式就是用逗号运算符将若干个表达式分隔开,形如:
表达式1,表达式2,......,表达式n
它是一个整体,所以上式其实是(表达式1,表达式2,......,表达式n ),运算过程为从左往右逐个表达式计算,整个表达式结果是表达式n的结果。

逗号表达式的分析

标签:逗号运算符   div   fun   直接   返回   分析   nbsp   优先级   过程   

原文地址:http://www.cnblogs.com/fenglongyu/p/7625675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!