rusi/test/struct.c

68 lines
5.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#включить "тест.з"
#включить "stdvv.c"
#include "common.c"
цел главн() {
ПРОВЕРИТЬ(1, ({ структ {цел а; цел б;} х; х.а=1; х.б=2; х.а; }));
ПРОВЕРИТЬ(2, ({ структ {цел а; цел б;} х; х.а=1; х.б=2; х.б; }));
ПРОВЕРИТЬ(1, ({ структ {символ а; цел б; символ в;} х; х.а=1; х.б=2; х.в=3; х.а; }));
ПРОВЕРИТЬ(2, ({ структ {символ а; цел б; символ в;} х; х.б=1; х.б=2; х.в=3; х.б; }));
ПРОВЕРИТЬ(3, ({ структ {символ а; цел б; символ в;} х; х.а=1; х.б=2; х.в=3; х.в; }));
ПРОВЕРИТЬ(0, ({ структ {символ а; символ б;} х[3]; символ *п=х; п[0]=0; х[0].а; }));
ПРОВЕРИТЬ(1, ({ структ {символ а; символ б;} х[3]; символ *п=х; п[1]=1; х[0].б; }));
ПРОВЕРИТЬ(2, ({ структ {символ а; символ б;} х[3]; символ *п=х; п[2]=2; х[1].а; }));
ПРОВЕРИТЬ(3, ({ структ {символ а; символ б;} х[3]; символ *п=х; п[3]=3; х[1].б; }));
ПРОВЕРИТЬ(6, ({ структ {символ а[3]; символ б[5];} х; символ *п=&х; х.а[0]=6; п[0]; }));
ПРОВЕРИТЬ(7, ({ структ {символ а[3]; символ б[5];} х; символ *п=&х; х.б[0]=7; п[3]; }));
ПРОВЕРИТЬ(6, ({ структ { структ { символ б; } а; } х; х.а.б=6; х.а.б; }));
ПРОВЕРИТЬ(4, ({ структ {цел а;} х; размер(х); }));
ПРОВЕРИТЬ(8, ({ структ {цел а; цел б;} х; размер(х); }));
ПРОВЕРИТЬ(8, ({ структ {цел а, б;} х; размер(х); }));
ПРОВЕРИТЬ(12, ({ структ {цел а[3];} х; размер(х); }));
ПРОВЕРИТЬ(16, ({ структ {цел а;} х[4]; размер(х); }));
ПРОВЕРИТЬ(24, ({ структ {цел а[3];} х[2]; размер(х); }));
ПРОВЕРИТЬ(2, ({ структ {символ а; символ б;} х; размер(х); }));
ПРОВЕРИТЬ(0, ({ структ {} х; размер(х); }));
ПРОВЕРИТЬ(8, ({ структ {символ а; цел б;} х; размер(х); }));
ПРОВЕРИТЬ(8, ({ структ {цел а; символ б;} х; размер(х); }));
ПРОВЕРИТЬ(8, ({ структ т {цел а; цел б;} х; структ т у; размер(у); }));
ПРОВЕРИТЬ(8, ({ структ т {цел а; цел б;}; структ т у; размер(у); }));
ПРОВЕРИТЬ(2, ({ структ т {символ а[2];}; { структ т {символ а[4];}; } структ т у; размер(у); }));
ПРОВЕРИТЬ(3, ({ структ т {цел х;}; цел т=1; структ т у; у.х=2; т+у.х; }));
ПРОВЕРИТЬ(3, ({ структ т {символ а;} х; структ т *у = &х; х.а=3; у->а; }));
ПРОВЕРИТЬ(3, ({ структ т {символ а;} х; структ т *у = &х; у->а=3; х.а; }));
ПРОВЕРИТЬ(3, ({ структ {цел а,б;} х,у; х.а=3; у=х; у.а; }));
ПРОВЕРИТЬ(7, ({ структ т {цел а,б;}; структ т х; х.а=7; структ т у; структ т *з=&у; *з=х; у.а; }));
ПРОВЕРИТЬ(7, ({ структ т {цел а,б;}; структ т х; х.а=7; структ т у, *п=&х, *к=&у; *к=*п; у.а; }));
ПРОВЕРИТЬ(5, ({ структ т {символ а, б;} х, у; х.а=5; у=х; у.а; }));
ПРОВЕРИТЬ(3, ({ структ {цел а,б;} х,у; х.а=3; у=х; у.а; }));
ПРОВЕРИТЬ(7, ({ структ т {цел а,б;}; структ т х; х.а=7; структ т у; структ т *з=&у; *з=х; у.а; }));
ПРОВЕРИТЬ(7, ({ структ т {цел а,б;}; структ т х; х.а=7; структ т у, *п=&х, *к=&у; *к=*п; у.а; }));
ПРОВЕРИТЬ(5, ({ структ т {символ а, б;} х, у; х.а=5; у=х; у.а; }));
ПРОВЕРИТЬ(8, ({ структ т {цел а; цел б;} х; структ т у; размер(у); }));
ПРОВЕРИТЬ(8, ({ структ т {цел а; цел б;}; структ т у; размер(у); }));
ПРОВЕРИТЬ(16, ({ структ {символ а; длин б;} х; размер(х); }));
ПРОВЕРИТЬ(4, ({ структ {символ а; корот б;} х; размер(х); }));
ПРОВЕРИТЬ(8, ({ структ фу *бар; размер(бар); }));
ПРОВЕРИТЬ(4, ({ структ Т *фу; структ Т {цел х;}; размер(структ Т); }));
ПРОВЕРИТЬ(1, ({ структ Т { структ Т *след; цел х; } а; структ Т б; б.х=1; а.след=&б; а.след->х; }));
ПРОВЕРИТЬ(4, ({ типдеф структ Т Т; структ Т { цел х; }; размер(Т); }));
ПРОВЕРИТЬ(2, ({ структ {цел а;} х={1}, у={2}; (х=у).а; }));
ПРОВЕРИТЬ(1, ({ структ {цел а;} х={1}, у={2}; (1?х:у).а; }));
ПРОВЕРИТЬ(2, ({ структ {цел а;} х={1}, у={2}; (0?х:у).а; }));
printf("OK\n");
возврат 0;
}