2019-08-18 06:01:02 +03:00
|
|
|
#include "test.h"
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
ASSERT(1, ({ int x[3]={1,2,3}; x[0]; }));
|
|
|
|
ASSERT(2, ({ int x[3]={1,2,3}; x[1]; }));
|
|
|
|
ASSERT(3, ({ int x[3]={1,2,3}; x[2]; }));
|
|
|
|
ASSERT(3, ({ int x[3]={1,2,3}; x[2]; }));
|
|
|
|
|
|
|
|
ASSERT(2, ({ int x[2][3]={{1,2,3},{4,5,6}}; x[0][1]; }));
|
|
|
|
ASSERT(4, ({ int x[2][3]={{1,2,3},{4,5,6}}; x[1][0]; }));
|
|
|
|
ASSERT(6, ({ int x[2][3]={{1,2,3},{4,5,6}}; x[1][2]; }));
|
|
|
|
|
2020-09-18 07:36:43 +03:00
|
|
|
ASSERT(0, ({ int x[3]={}; x[0]; }));
|
|
|
|
ASSERT(0, ({ int x[3]={}; x[1]; }));
|
|
|
|
ASSERT(0, ({ int x[3]={}; x[2]; }));
|
|
|
|
|
|
|
|
ASSERT(2, ({ int x[2][3]={{1,2}}; x[0][1]; }));
|
|
|
|
ASSERT(0, ({ int x[2][3]={{1,2}}; x[1][0]; }));
|
|
|
|
ASSERT(0, ({ int x[2][3]={{1,2}}; x[1][2]; }));
|
|
|
|
|
2019-08-18 10:34:39 +03:00
|
|
|
ASSERT('a', ({ char x[4]="abc"; x[0]; }));
|
|
|
|
ASSERT('c', ({ char x[4]="abc"; x[2]; }));
|
|
|
|
ASSERT(0, ({ char x[4]="abc"; x[3]; }));
|
|
|
|
ASSERT('a', ({ char x[2][4]={"abc","def"}; x[0][0]; }));
|
|
|
|
ASSERT(0, ({ char x[2][4]={"abc","def"}; x[0][3]; }));
|
|
|
|
ASSERT('d', ({ char x[2][4]={"abc","def"}; x[1][0]; }));
|
|
|
|
ASSERT('f', ({ char x[2][4]={"abc","def"}; x[1][2]; }));
|
|
|
|
|
2020-09-04 08:39:22 +03:00
|
|
|
ASSERT(4, ({ int x[]={1,2,3,4}; x[3]; }));
|
|
|
|
ASSERT(16, ({ int x[]={1,2,3,4}; sizeof(x); }));
|
|
|
|
ASSERT(4, ({ char x[]="foo"; sizeof(x); }));
|
|
|
|
|
|
|
|
ASSERT(4, ({ typedef char T[]; T x="foo"; T y="x"; sizeof(x); }));
|
|
|
|
ASSERT(2, ({ typedef char T[]; T x="foo"; T y="x"; sizeof(y); }));
|
|
|
|
ASSERT(2, ({ typedef char T[]; T x="x"; T y="foo"; sizeof(x); }));
|
|
|
|
ASSERT(4, ({ typedef char T[]; T x="x"; T y="foo"; sizeof(y); }));
|
|
|
|
|
2019-08-18 06:01:02 +03:00
|
|
|
printf("OK\n");
|
|
|
|
return 0;
|
|
|
|
}
|