x=(a=3,6*3) …… ①
x=a=3,6*a …… ②
第①是一个赋值表达式,将一个逗号表达式的值赋给x,x的值为18。
第②是逗号表达式,它包括一个赋值表达式和一个算术表达式,表达式的值为18,但x的值为3。
其实,逗号表达式无非是把若干表达式“串联”起来。在多数情况下逗号表达式只是想分别计算各表达式的值,而并不一定要得到和使用整个逗号表达式的值,逗号表达式一般用在循环语句(for语句)中。
请注意并不是任何地方出现的逗号都是作为逗号运算符。如函数参数也是用逗号来间隔的,但它的意义就不同了,
如:printf(“%d,%d,%d”,a,b,c);
这里的逗号并不表示逗号运算符,它只是3个参数的分隔符,如果将上面的输出语句改为:printf(“(%d,%d,%d”,(a,b,c),b,c);
它也有三个参数,不过第一个参数(a,b,c)是一个逗号表达式,括号中的逗号是逗号运算符,其值为c,后面的两个逗号是参数分隔符。
2.10 sizeof运算符
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] 下一页
|