逗号表达式

目录

分隔符

运算符

for 循环


分隔符

       在语句中作为分隔符使用。

例如:

int a,b,c;

运算符

       逗号是一种运算符,但是是一种低级运算符,其优先级低于赋值运算符(=),故逗号运算符在使用过程中一般用于括号里面。逗号运算符与括号连用时,其值取括号中从左到右最后一个表达式的值。

int x=1,y=2,z=3;
int m=(x,y)+z;
int n=((x,y),z);

m=5,n=3

计算 m=(x,y)+z 时,首先会取 y 的值作为 (x,y) 的值,然后再加 z,即 m=y+z=5。

计算 n=((x,y),z) 时,对于内层括号 (x,y) 会取 y 的值作为内层括号的值,然后计算外层括号 (y,z) ,会取 z 作为外层括号的值,所以最终 n=z=3。

对于多层括号,要从最内层一层一层计算。

for 循环

for 循环的一般形式:for(表达式1;表达式2;表达式3)

       表达式 2 是判断循环是否继续进行的条件,若表达式 2 中包含多个用逗号相隔的表达式,限制该循环的条件仅为表达式 2 中从左到右的最后一个表达式。

for(int i=0,j=0;i<2,j<6;i++,j++){
   printf("i=%d  j=%d\n",i,j);
}

逗号表达式_第1张图片

第一个 for 循环的限制条件实际为:j<6

for(int i=0,j=0;i<6,j<2;i++,j++){
   printf("i=%d  j=%d\n",i,j);
}

第二个 for 循环的限制条件实际为:j<2

你可能感兴趣的:(C语言,c++,c语言)