j + =(i = j)在C ++中是什么意思

时间:2016-04-19 09:28:45

标签: c++ vb.net operands

我几乎没有编程C的经验。但现在我必须在VB.net应用程序中使用一些C代码。

到目前为止,翻译代码已经成功,但我遇到了这个奇怪的(至少对我而言)陈述

<div class="form-group">
    <input ="Submit" id="Padding" value="Sign up" class="btn btn-primary" />
    <a href="Home">or cancel</a>
</div>

j和i都是整数。我一直在寻找这个论坛和谷歌,但没有找到它可能意味着什么的答案。

在C代码中,我有一些看起来像

的类似代码
j += ( i = j); 

除i之外的所有变量都是double或双数组。

如果我犯了一些语法或拼写错误,请原谅。

提前致谢。

编辑:感谢所有答案......他们非常清楚......不幸的是,我在从C到VB.net的转型中陷入了死胡同......

chisq += (temp = y[i] - (aa + bb*x[i]), temp*temp);

我相信这无法翻译......无论如何,感谢您提供的所有信息!

4 个答案:

答案 0 :(得分:4)

chisq += (temp = y[i] - (aa + bb*x[i]), temp*temp);将按以下方式评估:

operator ,temp = y[i] - (aa + bb*x[i])的{​​p> temp*temp 如果它没有超载它将评估第一个参数,丢弃它然后评估第二个参数并返回它

temp = y[i] - (aa + bb*x[i]);
chisq = chisq + temp*temp;

答案 1 :(得分:3)

以下代码:

companyList

这只是一种丑陋的说法

j += ( i = j);

你也可以写成:

i = j;
j = j * 2;

以同样的方式,将按以下顺序评估第二个操作:

i = j;
j *= 2;

答案 2 :(得分:1)

首先将j分配给i,然后将i添加到j。

像这样:

i = j;
j += i;

答案 3 :(得分:1)

i = j;
j += i;

等于:

i = j;
j *= 2; // j += i is the same as j += j which is j = j + j;

最后:它看起来像&#34;技巧&#34;但事实上,由于程序的可读性差,这是不好的做法。