本文介绍了是(--i ==我++)不确定的行为?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这个问题是涉及到我以前的。我得到的答案是的这是一个未定义的行为。的
请谁能解释:
- 什么是未定义的行为?
- 我的代码,我怎么能知道有一个未定义的行为?
示例代码:
INT I = 5;
如果(--i ==我++)
Console.WriteLine(平等且i =+ I);
,否则
Console.WriteLine(不等于我=+ I);
//输出:平等,I = 6
解决方案
这在C未定义,但在C#中明确:
从C#(ECMA-334)规范运算符优先级和结合一节(§ 14.2.1):
So --i
is evaluated first, changing i
to 4 and evaluating to 4. Then i++
is evaluating, changing i
to 5, but evaluating to 4.
这篇关于是(--i ==我++)不确定的行为?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!