C 编程语言最令人兴奋的方面之一(作为有效的高级汇编)是,尽管它对开发人员来说更加友好,但由于其跨平台和体系结构的可移植性,它还增加了许多所需的专业知识。 [Oleksandr Kaleniuk] 成功地通过一个简单的 5 个问题、多项选择测验来精彩地说明了这种技巧,即所提供的 C 代码函数片段的返回值是什么。你对C了解多少?
对于那些直接(或通过 C++ 等语言对 C 的支持间接)接触过 C 的人来说,“未定义行为”(UB) 一词可能会引起一两次紧张,并伴随着怀疑的一瞥。这次现实的哪些部分即将蒸发并破坏宇宙的稳定。虽然据说正确的 C 程序是用零 UB 情况编写的,但实际上这可能相当困难,即使在考虑一段代码可能无法完成预期任务的其他令人兴奋的方式之前也是如此。
对于 C 以外的语言来说,这当然也是一个挑战,这就是为什么航空电子设备等认证项目会不遗余力地消除此类可预防的问题,而只有像 Ada 这样的少数编程语言(任何航空电子设备、医疗设备等)才能够解决这些问题。 )和 C++(F-35 和其他美国国防部项目)使其成为实际上不可能出现故障的设备。
原文: https://hackaday.com/2024/01/23/testing-your-c-knowledge-with-this-one-simple-quiz/