C 逗號表達式 與返回值
逗號表達式的返回值是最後一個表達式的值
int z; z=(5,6); printf("%d\n",z);//6
int a; printf("%d\n",(a=3*5,a*4,a+5));//20
a=3*5,a*4,a+5可以拆分成
a=3*5;//a=15
a*4;//a=5
a+5;
最後一個表達式的值是20
語句
int x,y,z; x=y=1; z=x++,y++,++y; printf("%d\n",z);//1
int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y));//相當於輸出c的值 的输出结果是___D___。 A、1 B、0 C、4 D、3
int a,b,c; a=10; c=(b=a); printf("%d\n",c);//10
double t; printf("%f\n",(t=1,t+3,t++));//1.00000
解析 t=1後t的值為1.00000;
t++返回值是1.00000;
習題:
若t为double类型,表达式t=1,t+5,t++的值是______。 A、1 B、6.0 C、2.0 D、1.0
求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3。
若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5