c#和c++的运算符优先级

闲来无聊乱写代码。发现基础的东西有的时候也非常的抽象。不信?那来看看下面这条语句:

int i = 5;
int j = 10;

j = i = -i++;

如果上述代码是vc++代码,那么输出结果是:

i=-4 j=-5
请按任意键继续. . .

但如果上述代码是c#代码,那么输出的结果是:

i=-5
j=-5

那种事情真的好奇怪啊。

但是在linux centos 上用g++编译c++ 代码呢,那么输出的结果还是

i=-5j=-5

总结:就特么微软事儿多。

再总结:好吧我又可耻的标题党骗点击。

再再总结:点击?tan90°

时间: 2024-10-11 19:31:40

c#和c++的运算符优先级的相关文章

运算符优先级

1        算术运算符       单目 >双目 >三目 2        关系运算符 3        逻辑运算符      &&高于||      !算术还高高 一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   * / % 4   + - 5   >> << 6   > >= <

运算符优先级问题

设计一个函数计算2n+1: int func(int n) { return n << 1 + 1; } 这个函数得到的结果是4*n. 使用左移一位代替乘以2的运算,是很好的方法,但在C/C++中"+"运算符优先级高于"<<",因此会先进行加法运算再左移两位,得到结果4*n. 正确写法是: int func(int n) { return (n << 1) + 1; }

比较++和+的运算符优先级

比较++和+的运算符优先级 1.题目    看下方代码,结果为: /** * @Title:CalNum.java * @Package:com.you.user.util * @Description:比较运算符优先级 * @author:Youhaidong(游海东) * @date:2014-7-23 下午9:54:31 * @version V1.0 */ package com.you.user.util; /** * 类功能说明 * 类修改者 修改日期 * 修改说明 * <p>Ti

C 语言运算符优先级

每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖! C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- -> 成员选择(指针) 对象指针->成员名 -- 2 - 负号运算符 -表达式 右到左 单目运算符 ~ 按位取反运算符 ~表达式 ++ 自增运算符 +

Java运算符优先级(转)

Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目   ( ) 圆括号 从左到右     [ ] 方括号 从左到右     2 + 正号 从右到左 单目   - 负号 从右到左 单目   ++ 自增 从右到左 单目 前缀增,后缀增 - - 自减 从右到左 前缀减,后缀减 ~ 按位非/取补运算 从右到左 单目   ! 逻辑非 从右到左 单目 “!”不可以与“=”联用 3 * 乘 从左到右 双目   / 除 从左到右 双目 整数除法:取商的整数部分,

JavaScript的位运算符、赋值运算符、其他运算符、三元运算符、运算符优先级

一. 位运算符 在一般的应用中,我们基本上用不到位运算符.虽然,它比较基于底层,性能和速度会非常好,而就是因为比较底层,使用的难度也很大,底层运算是转换成二进制进行运算的. 位运算符有七种,分别是:位非 NOT(~).位与 AND(&).位或 OR(|).位异或 XOR(^).左移(<<).有符号右移(>>).无符号右移(>>>). var box = ~25; //-26 var box = 25 & 3; //1 var box = 25 |

demopu教你学php,php运算符优先级

demopu教你学php,php运算符优先级例子 <?php$a = 3 * 3 % 5; // (3 * 3) % 5 = 4$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2 $a = 1;$b = 2;$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5?> 尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()

C语言运算符优先级

C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- -> 成员选择(指针) 对象指针->成员名 -- 2 - 负号运算符 -表达式 右到左 单目运算符 ~ 按位取反运算符 ~表达式 ++ 自增运算符 ++变量名/变量名++ -- 自减运算符 --变量名/变量名-- * 取值运算符 *指针变量 & 取地址运算符 &

利用运算符优先级实现if else

利用运算符优先级实现 if(a){alert('true')}else{alert('false') } a && (alert('true'),1) || alert('false') 或者用三目运算符 a ? alert('true') : alert('false'); 一.使用常见的三元操作符 if (foo) bar(); else baz(); ==> foo?bar():baz();if (!foo) bar(); else baz(); ==> foo?baz(

JS运算符优先级

  记录  随时查看 JS运算符优先级,布布扣,bubuko.com