语言转换软件都是不可靠,甚至可能造成大的bug

今天看帮一个朋友看一段代码,他用到了一段C# 的代码,由于朋友只熟悉 vb.net ,所有找了一个翻译软件从 C# 翻译成了 vb.net

找了半天,问题就跟这么一句话有关系。

在 C# 中

             int  a,b,c;
            a
= b = c = 1 ;

呵呵,执行玩 a=b=c=1 以后,三个变量都是1  ,这个问题其实有点弱智

然后到 VB.NET 中

         Dim  a, b, c  As   Integer
        a 
=  b  =  c  =   1

这个代码我随便问了3个朋友,大家都说跟 C# 是一样的。显然执行玩候都是 1,你认为呢?

其实结果不是这样的,执行了 a=b=c=1 这句话,你会发现 abc更本没有变,仍然是 0。仔细看一下原因很简单,hh
vb.net 中 = 既可以当赋值运算符 又可以当逻辑运算符,这里是逻辑运算符。

bug 就跟这个有关系

你可能感兴趣的:(bug)