C#入门经典(第6版)勘误之误

本书英文名:Beginning Visual C# 2012 Programming

勘误在原书英文网站上,但是最后一个勘误有误:
Chapter3后面的练习题Exercise4中让用括号标出下式的运算顺序:

resultVar += var 1 * var2 + var3 % var4 / var5;

按照C语言,%, *, /的优先级相同,左结合性,所以知道var3 % var4 / var5从左往右依次计算,所以应标为(var3 % var) / var5,结果原书上说(var3 % var) / var5和var3 % (var / var5)都是正确的,勘误以后虽然只剩下了一种正确,但却说是var3 % (var / var5):

C#入门经典(第6版)勘误之误_第1张图片
勘误截图

用C#试一下:

using System;

namespace SpaceCowboy
{
    class Helloworld
    {
        public static void Main(string[] args)
        {
            int i,j,k;
            i=2%6/2;
            j=(2%6)/2;
            k=2%(6/2);
            Console.WriteLine("i={0},j={1},k={2}",i,j,k);
            Console.ReadLine();
        }
    }
}

输出:

i=1,j=1,k=2

显然i == j != k,依然是C语言的规则。

你可能感兴趣的:(C#入门经典(第6版)勘误之误)