我不明白cin>>a中的",b[a]",b[a]=1;

using namespace std;
int i, t, n, x, a;
main()
{

    int t;
    cin >> t;

    while (t--)
    {
        cin >> n >> x;
        int b[n + x] = {0};
        while (n--)
            cin >> a, b[a] = 1; // ***here is my question
        for (i = 1; x > 0 || b[i] != 0; i++)
            if (b[i] == 0)
                x--;
        cout << i - 1  << endl ;
    }

    return 0;
}

在这里,为什么在“cin>> a , b[a] = 1 ;”中使用了“,” 我不明白使用它的目的。

回答

这是一个写得不好的代码的例子(让它变得奇怪和难以阅读)。

在 C 和 C++ 中有,运算符,其中计算两个参数,最后一个作为整个表达式的值返回。

所以这一行:

cin >> a, b[a] = 1;
cin >> a, b[a] = 1;

的返回值operator,被丢弃cin >> ab[a] = 1只是被评估。

这是避免使用括号的糟糕方法,应该这样写:

我相信你可以轻松阅读。


以上是我不明白cin&gt;&gt;a中的",b[a]",b[a]=1;的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>