【发布时间】:2011-03-14 04:54:03
【问题描述】:
这个问题与我之前的problem 有关。我得到的答案是“这是一种未定义的行为。”
请任何人解释:
- 什么是未定义行为?
- 我如何知道我的代码有未定义的行为?
示例代码:
int i = 5;
if (--i == i++)
Console.WriteLine("equal and i=" + i);
else
Console.WriteLine("not equal and i=" + i);
//output: equal and i=6
【问题讨论】:
-
您使用什么语言? C# 和 C 非常不同
-
呃,C 还是 C#?这不是有效的 C,为什么要添加标签?
-
"什么是未定义行为?"它的 3 或 428,3 取决于附近的重力和发电厂。
-
你为什么要这样写,让你的程序员同事感到困惑?
-
Console.WriteLine()在 C 中做什么?
标签: c# undefined-behavior