bf01.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 53 行
C
53 行
// parsing problem
#include "fail.h"
typedef int TYPENAME;
struct s1 {
TYPENAME : 4;
TYPENAME TYPENAME : 4;
};
struct s2 {
int : 4;
int TYPENAME : 4;
};
struct s3 {
int : 4;
int bf : 4;
int : 0;
};
struct s4 {
TYPENAME : 4;
TYPENAME bf : 4;
TYPENAME : 0;
};
int main() {
union {
struct s1 f1;
struct s2 f2;
struct s3 f3;
struct s4 f4;
} u;
memset( &u, 0, sizeof(u) );
if( u.f1.TYPENAME != 0 ) _fail;
if( u.f2.TYPENAME != 0 ) _fail;
if( u.f3.bf != 0 ) _fail;
if( u.f4.bf != 0 ) _fail;
u.f1.TYPENAME = 1;
if( u.f1.TYPENAME != 1 ) _fail;
if( u.f2.TYPENAME != 1 ) _fail;
if( u.f3.bf != 1 ) _fail;
if( u.f4.bf != 1 ) _fail;
u.f2.TYPENAME++;
if( u.f1.TYPENAME != 2 ) _fail;
if( u.f2.TYPENAME != 2 ) _fail;
if( u.f3.bf != 2 ) _fail;
if( u.f4.bf != 2 ) _fail;
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?