为什么int r =(int,int,int);没有给出错误,r有最后一个整数的值吗?

时间:2016-03-07 21:02:33

标签: c++ comma

r始终是括号之间的最后一个整数。

以下程序的输出是什么?

#include <iostream>
using namespace std;
main() {
    int i = 1, j = 2, k = 3, r;
    r = (i, j, k);
    cout << r <<endl;
}

可能的答案:

A - 1
B - 2
C - 3
D - Compile Error

我想知道的是为什么会发生这种情况。

1 个答案:

答案 0 :(得分:3)

这是逗号运算符 - 请参阅https://en.wikipedia.org/wiki/Comma_operator

因此,r将在此声明

中赋予k的值
r = (i, j, k);