在添加,乘法和除法中对C#的偏好

时间:2014-07-31 13:21:14

标签: c# division multiplication addition operation

C#如何执行此操作?

static void Main(string[] args)
    {

        int i = 4;

        i *= 4 + 8 / 2;
        Console.WriteLine(i);
    }

在一个采访问题中提到了这个问题。我将BODMAS应用于它。 但这是错的。请解释一下。

3 个答案:

答案 0 :(得分:0)

将执行相当于以下代码:

int i = 4;
int temp = 8 / 2;
temp = 4 + temp;
i = i * temp;

编译器会缩短它,因为它可以计算i *=右边的常量,所以实际上它会编译为:

int i = 4;
i *= 8;

答案 1 :(得分:0)

i * = 4 + 8/2执行如下:

i = i *(4 +(8/2))

这是阅读它的正确方法。

答案 2 :(得分:0)

运算符优先级非常明确:/是乘法运算符,首先应用,然后是+。 * =是赋值运算符,最后应用。

所以:

8 / 2 = 4
4 + 4 = 8
i *= 8;
so i will be 4 * 8 = 32;