1. 程式人生 > >C 逗號表示式 與返回值

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