init02.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 52 行
C
52 行
#include "fail.h"
#include <stdlib.h>
enum E { A, B, C };
int incs( signed char x )
{
return x + 2;
}
int incu( unsigned char x )
{
return x + 2;
}
int incc( char x )
{
return x + 1;
}
int ince( enum E x )
{
return x + 1;
}
struct S {
enum E a : 2;
char b : 5;
unsigned char c : 3;
};
int main()
{
int *p = 0;
struct S x;
enum E d = B;
enum E *q = &d;
char c = '@';
char *r = &c;
if( p != NULL ) fail(__LINE__);
x.a = A;
x.b = 0;
x.c = 0;
if( ince( x.a ) != B ) fail(__LINE__);
if( incc( x.b ) != 1 ) fail(__LINE__);
if( incu( x.c ) != 2 ) fail(__LINE__);
if( ince( *q ) != C ) fail(__LINE__);
if( incc( *r ) != ('@'+1) ) fail(__LINE__);
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?