rusi/test/bitfield.c

58 lines
1.9 KiB
C
Raw Permalink Normal View History

#включить "тест.з"
#включить "stdvv.c"
структ {
символ а;
цел б : 5;
цел в : 10;
} г45 = {1, 2, 3}, г46={};
цел главн() {
ПРОВЕРИТЬ(4, размер(структ {цел х:1; }));
ПРОВЕРИТЬ(8, размер(структ {длин х:1; }));
структ бит1 {
корот а;
символ б;
цел в : 2;
цел г : 3;
цел д : 3;
};
ПРОВЕРИТЬ(4, размер(структ бит1));
ПРОВЕРИТЬ(1, ({ структ бит1 х; х.а=1; х.б=2; х.в=3; х.г=4; х.д=5; х.а; }));
ПРОВЕРИТЬ(1, ({ структ бит1 х={1,2,3,4,5}; х.а; }));
ПРОВЕРИТЬ(2, ({ структ бит1 х={1,2,3,4,5}; х.б; }));
ПРОВЕРИТЬ(-1, ({ структ бит1 х={1,2,3,4,5}; х.в; }));
ПРОВЕРИТЬ(-4, ({ структ бит1 х={1,2,3,4,5}; х.г; }));
ПРОВЕРИТЬ(-3, ({ структ бит1 х={1,2,3,4,5}; х.д; }));
ПРОВЕРИТЬ(1, г45.а);
ПРОВЕРИТЬ(2, г45.б);
ПРОВЕРИТЬ(3, г45.в);
ПРОВЕРИТЬ(0, г46.а);
ПРОВЕРИТЬ(0, г46.б);
ПРОВЕРИТЬ(0, г46.в);
типдеф структ {
цел а : 10;
цел б : 10;
цел в : 10;
} Т3;
ПРОВЕРИТЬ(1, ({ Т3 х={1,2,3}; х.а++; }));
ПРОВЕРИТЬ(2, ({ Т3 х={1,2,3}; х.б++; }));
ПРОВЕРИТЬ(3, ({ Т3 х={1,2,3}; х.в++; }));
ПРОВЕРИТЬ(2, ({ Т3 х={1,2,3}; ++х.а; }));
ПРОВЕРИТЬ(3, ({ Т3 х={1,2,3}; ++х.б; }));
ПРОВЕРИТЬ(4, ({ Т3 х={1,2,3}; ++х.в; }));
ПРОВЕРИТЬ(4, размер(структ {цел а:3; цел в:1; цел в:5;}));
ПРОВЕРИТЬ(8, размер(структ {цел а:3; цел:0; цел в:5;}));
ПРОВЕРИТЬ(4, размер(структ {цел а:3; цел:0;}));
printf("OK\n");
возврат 0;
}