对未定义行为，语言实现作出任何反应都是正确的，类似于数字逻辑中的。虽然编译器实现可能会针对未定义行为给出诊断信息，但保证编写的代码中不引发未定义行为是程序员自己的责任。这种假设的成立，通常可以让编译器对代码作出更多优化，同时也便于做更多的编译期检查和静态程序分析。有时候也可能存在对于未定义行为本身的限制性要求。例如，在CPU的指令集说明中可能将某些形式的指令定为未定义，但如果该CPU支持内存保护，说明中很可能会还会包含一条兜底的规则，要求任何用户态的指令都不会让操作系统的安全性受损；这样一来，在执行未定