|
|
1
3
这个问题提出得不好。让我们先看看代码:
首先要注意的是
第一次
然而,
这两个语句都通过了
双关语问题是:
无论如何,双关语并不是问题的真正主题。 成员中的值标题问: 这个题目似乎与问题的内容不符。标题问题很容易回答:我们可以存储的值 在里面 填充采用未指定的值这个问题引用了标准:
标准中引用的文本意味着,如果
|
|
|
2
1
在许多C标准用来描述的语言实现中,试图在结构或联合中写入N字节对象将影响结构或联合中最多N字节的值。另一方面,在支持8位和32位存储但不支持16位存储的平台上,如果有人声明了如下类型:
然后执行
如果该标准包含了一种方法,通过这种方法,实现可以指示对结构或联合成员的写入是否会干扰到它们以外的存储,并且被这种干扰破坏的程序可以拒绝在可能发生这种情况的实现上运行,那将是很有帮助的。然而,标准的作者很可能期望那些对这些细节感兴趣的程序员知道他们的程序应该运行在什么样的硬件上,从而知道这种内存干扰是否会对这些硬件造成问题。 不幸的是,现代的编译器编写者似乎将那些旨在帮助实现不寻常硬件的自由解释为一种开放的邀请,即使是针对那些可以在没有这种让步的情况下高效处理代码的平台,也能获得“创造性”。 |
|
|
3
0
|