2011-08-05 5 views
0
int a=0; 
int b=1; 
int c=a,b; 
int d=(a,b); 
+8

これは宿題の質問ですか? –

+0

[Comma operator](http://en.wikipedia.org/wiki/Comma_o​​perator) – OnesimusUnbound

+0

これは宿題であれば、私は真剣にあなたが行く学校について疑問を抱いています。パックして、愚かな面接の質問に対する答えよりも多くを教える別の学校を見つける。 –

答えて

5

a,bにコンマはコンマオペレータであり、そしてbに評価。 dを含む行のかっこでは、このような場合があります。しかし、cを含む行で、これはカンマ演算子を使用することではありません

int d = b; 

:だから、その行は本当にちょうど同じです。代わりに、と同等の変数定義のリストだけ、です:(!その結果、bの再定義のためにコンパイルされません)

int c = a; 
int b; 

+0

「d」のみ。 'c'の場合、カンマ演算子として解析されません。 –

+0

@Chris:くそー、それは良い点です!私はこれが初期化にあったことに気付かなかった! –

関連する問題