原式相当于这样 i/=i; i *=i; i++; 后++ 的优先级比 *= /= 低
解决方案 »
- 让对话框不可点击,鼠标变成沙漏,有啥好办法?
- 新手进MFC求助啊····
- vc 调试错误,高手请指点
- #define FF_MODERN (3<<4), 请问后面这个 3<<4 是什么意思?
- 求助,一个头疼的问题
- 为什么编译不能通过?
- 窗口标题的问题?
- 组件借用ado访问数据库
- 【【【 请问在windows2000下怎么把程序注册成系统服务?谢谢 】】】
- CHtmlView的OnBeforeNavigate2函数中,为何不能关闭视类?
- 请高手指教:我在CSpliteView中动态创建的CComboBox对象,如何在OnCommand中捕获它的CBN_EDITCHANGE事件
- 如果将一系列位图转成一个Avi文件?谢谢。
int a(0);
int i=5;
a=i*=i/=i++;
再输出a的值为1
比如:int i = 0, j;
j = (i++) + (++i) + (i++);结果是 j = 3;编译器认为这个式子要:
先把 i 自加一,
再把 3 个 i 的当前值加起来放到 j 里去( 此时 i = 1 ),
再把 i 自加两次。另外++与--的结果常与编译模式有关,留神啊。我是从来不把它们放到复合表达式里,吃的苦头太多了。还有:自反赋值运算符的优先级很低,仅高于逗号运算符。而++和--是很高的。